2021-07-21 VB窗体求范围质数(Excel复制工作簿)

vbnet 复制代码
Imports System.IO.Ports

'Imports System.IO
'Imports ADOX

Public Class Form1
    Dim 列表 As New DataGridView
    Dim wb1 As New TextBox
    Dim wb2 As New TextBox
    Dim aj As New Button
    Dim xs As New TextBox
    Dim 串行端口 = New SerialPort
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.Text = "VB解答专用窗体"

        
        
        wb1.Parent = Me
        wb1.Text = "3"
        wb2.Parent = Me
        wb2.Text = "47"
        xs.Parent = Me
        xs.Text = "质数:"
        aj.Parent = Me
        aj.Text = "查找"
        wb2.Location = New Point(wb1.Width + 7)
        aj.Location = New Point(wb1.Width + wb2.Width + 7 * 2)
        xs.Location = New Point(wb1.Width + wb2.Width + aj.Width + 7 * 3)
        xs.Width = Me.Width - (wb1.Width + wb2.Width + aj.Width + 7 * 3)
        xs.WordWrap = True
        xs.Height = Me.Height
        xs.Multiline = True

        AddHandler aj.Click, AddressOf 按键单击

    End Sub
    Private Sub 按键单击(sender As Object, e As EventArgs)
        '缘由https://ask.csdn.net/questions/7477534?spm=1005.2025.3001.5141
        xs.Text = "质数:"
        Dim a = Integer.Parse(wb1.Text.Trim())
        Dim b = Integer.Parse(wb2.Text.Trim())
        Dim c As Integer = 3
        While a <= b And a > 1
            If a = 2 Or a = 3 Then
                xs.AppendText(a.ToString("0 "))
                a = IIf(a = 2, a + 1, a + 2)
            ElseIf c <= a / c Then
                If (a Mod c = 0) Then
                    a = a + 2
                    c = 3
                Else
                    c = c + 2
                End If
            Else
                xs.AppendText(a.ToString("0 "))
                a = a + 2
                c = 3
            End If
        End While
    End Sub
    
    Private Sub Excel复制工作簿()
        Dim myExcelApp As New Microsoft.Office.Interop.Excel.Application

        myExcelApp.Workbooks.Open(System.Environment.CurrentDirectory + "\\测试用例.xlsx", Type.Missing)
        myExcelApp.Workbooks.Open(System.Environment.CurrentDirectory + "\\复制用例.xlsx", Type.Missing)

        Dim worksheet1 As Microsoft.Office.Interop.Excel.Worksheet = CType(myExcelApp.Workbooks(1).Worksheets(1),  _
                                                                            Microsoft.Office.Interop.Excel.Worksheet)
        Dim worksheet2 As Microsoft.Office.Interop.Excel.Worksheet = CType(myExcelApp.Workbooks(2).Worksheets(1),  _
                                                                            Microsoft.Office.Interop.Excel.Worksheet)
        worksheet1.Copy(After:=worksheet2)

        myExcelApp.Workbooks(2).Save()
        myExcelApp.Quit()
        myExcelApp = Nothing

    End Sub

End Class

缘由VB求素数问题,提示:须使用双分支选择结构。_软件工程-CSDN问答

vbnet 复制代码
    Private Sub 按键单击(sender As Object, e As EventArgs)
        '缘由https://ask.csdn.net/questions/7477534?spm=1005.2025.3001.5141
        xs.Text = "质数:"
        Dim a = Integer.Parse(wb1.Text.Trim())
        If a < 30 Then
            MessageBox.Show("数据无效可重新输入!", "友情提醒", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            wb1.Focus()
        End If
        Dim b = Integer.Parse(wb2.Text.Trim())
        Dim c As Integer = 3, h As Integer = 0, q = 2
        While q <= a And q > 1
            If q = 2 Or q = 3 Then
                xs.AppendText(q.ToString("0 "))
                h = h + q
                q = IIf(q = 2, q + 1, q + 2)
            ElseIf c <= q / c Then
                If (q Mod c = 0) Then
                    q = q + 2
                    c = 3
                Else
                    c = c + 2
                End If
            Else
                xs.AppendText(q.ToString("0 "))
                h = h + q
                q = q + 2
                c = 3
            End If
        End While
        wb2.Text = h
    End Sub
相关推荐
Aurora_wmroy11 分钟前
算法竞赛备赛——【图论】求最短路径——Floyd算法
数据结构·c++·算法·蓝桥杯·图论
hrrrrb1 小时前
【密码学】1. 引言
网络·算法·密码学
lifallen1 小时前
KRaft 角色状态设计模式:从状态理解 Raft
java·数据结构·算法·设计模式·kafka·共识算法
雲墨款哥2 小时前
算法练习-Day1-交替合并字符串
javascript·算法
fishcanf1y2 小时前
记一次与Fibonacci斗智斗勇
算法
Mr_Xuhhh2 小时前
QT窗口(3)-状态栏
java·c语言·开发语言·数据库·c++·qt·算法
啊这.-2 小时前
Codeforces Round 921 (Div. 1) B. Space Harbour(线段树,2100)
算法
远望樱花兔2 小时前
【Java】【力扣】94.二叉树的中序遍历
算法·leetcode
Tim_103 小时前
【算法专题训练】03、比特位计数
c++·算法
张人玉3 小时前
C#`Array`进阶
java·算法·c#