VB编程实例精讲(150例)

合集下载

VB编程实例精讲(150例)

VB编程实例精讲(150例)
图 00-08:VBE 编辑器窗口(带有用户窗体) 在 VBE 编辑器中输入 VBA 代码
6
如前所述,您可以选择 VBE 菜单“插入——用户窗体/模块/类模块”来插入模块或 用户窗体以及相应的代码窗口。此外,您也可以在“工程资源管理器”中单击鼠标 右键,从弹出的菜单中选择“插入——用户窗体/模块/类模块”来实现上面的操作。 在获取相应的代码模块窗口后,就可以输入 VBA 代码了。 在 VBE 编辑器的代码模块中输入 VBA 代码,通常有以下几种方法: ■ 手工键盘输入; ■ 使用宏录制器,即选择菜单“工具——宏——录制新宏”命令,将所进行的操作 自动录制成宏代码; ■ 复制/粘贴代码,即将现有的代码复制后,粘贴到相应的代码模块中; ■ 导入代码模块,即在 VBE 编辑器中选择菜单“文件——导入文件”或在“工程资 源管理器”的任一对象上右击鼠标选择菜单“导入文件”,选择相应的代码文件导入。 如果不想要某个模块了,可以选择菜单“文件——移除模块”,也可以在相应的模 块上单击鼠标右键,从弹出的菜单中选择“移除模块”。此时,会弹出一个警告框, 询问在移除模块前是否将其导出,可以根据需要进行选择。 也可以选择菜单“文件——导出文件”或在相应的模块上单击鼠标右键后,从弹出 的菜单中选择“导出文件”,将移除的模块保存在相应的文件夹中。这样,以后可 以对其进行导入,从而加以利用。 调试 VBA 代码 在 VBE 编辑器的菜单中,有两项与调试运行有关的菜单项,即“调试”菜单和“运 行”菜单,它们提供了各种调试和运行的手段。在我现阶段进行代码调试时,常 用到的有以下几个: ■ 逐语句。可以按 F8 键对代码按顺序一条一条语句运行,从而找出语句或逻辑 错误。 ■ 设置断点。在可能存在问题的语句处设置断点(可通过在相应代码前的空白部 位单击,将会出现一个深红色的椭圆即断点),当程序运行至断点处时,会中止 运行。 ■ 在语句的适当部位设置 Debug.Print 语句,运行后其结果会显示在“立即窗口” 中,可以此测试或跟踪变量的值。 ■ 在“立即窗口”中测试。对值的测试或跟踪,也可以以“?”开头,在“立即窗口” 中输入需要测试值的语句,按 Enter 回车键后将立即出现结果;对执行语句的测 试,可直接在“立即窗口”中输入,按 Enter 回车键后将执行。 ■ 可以按 F5 键直接运行光标所在位置的子程序。 在执行程序后,必须在 Excel 工作表中查看所得到的结果。可以用鼠标单击 VB E 编辑器左上角的 Excel 图标或者是按 Alt+F11 组合键切换到 Excel 界面。 (当然,对程序代码的调试有很多方法和技巧,留待以后对 VBA 进一步研究和理 解更透彻后一并讨论。) 利用 VBA 帮助系统 如果遇到疑问或错误,可以利用 Excel 自带的 VBA 帮助系统。 ■ 可以在如图 00-09 所示的部位输入需要帮助的关键词,按 Enter 回车键后将会 出现相关主题。用鼠标单击相应的主题即会出现详细的帮助信息。

vb教程编程实例详解

vb教程编程实例详解

vb教程编程实例详解VB教程编程实例详解VB(Visual Basic)是一种面向对象的编程语言,它可以用于开发Windows应用程序。

在这里,我们将详细解释一些VB 编程实例,以帮助初学者更好地理解和掌握这门语言。

编程实例1:计算器首先,让我们创建一个计算器的VB程序。

我们将使用VB的窗体和按钮来实现这个功能。

首先,我们需要在窗体上添加一些按钮,如"1"、"2"、"+"、"="等。

然后,我们需要用一个文本框来显示计算结果。

在窗体上双击"+"按钮并添加以下代码:```Private Sub ButtonPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPlus.ClickDim num1 As IntegerDim num2 As IntegerDim result As Integernum1 = Integer.Parse(TextBoxNum1.Text)num2 = Integer.Parse(TextBoxNum2.Text)result = num1 + num2TextBoxResult.Text = result.ToString()End Sub```在这个代码中,我们首先定义了三个变量:num1、num2和result,用于存储计算结果。

然后,我们使用Integer.Parse方法将文本框中输入的文本转换为整数类型,并将其赋值给num1和num2。

接下来,我们将num1和num2相加,将结果赋值给result,并使用result.ToString()方法将结果转换为字符串类型并显示在结果文本框中。

编程实例2:学生成绩管理系统接下来,让我们创建一个学生成绩管理系统的VB程序。

vb实例讲解

vb实例讲解

VB实例讲解1.Fibonacci数列的第一项为1,第二项为1,从第三项起每项都是前两项之和,即1、1、2、3、5、8、……设计程序计算Fibonacci数列的前30项并在窗体上输出(使用数组来实现)Private Sub Command1_Click()Dim d(29) As Double, i As Integerd(0) = 1d(1) = 1Text1.Text = Text1.Text & d(0) & Chr(13) & Chr(10)Text1.Text = Text1.Text & d(1) & Chr(13) & Chr(10)For i = 2 To 29d(i) = d(i - 2) + d(i - 1)Text1.Text = Text1.Text & d(i) & Chr(13) & Chr(10)Next iEnd Sub2.编写程序,建立并在窗体上输出一个10*10的矩阵,该矩阵两条对角线元素为1,其余元素为0Private Sub Command1_Click()Dim d(9, 9) As Integer, i As Integer, j As IntegerFor i = 0 To 9For j = 0 To 9If i = j Or i + j = 9 Thend(i, j) = 1Elsed(i, j) = 0End IfPrint d(i, j);NextPrintNextEnd Sub3.有一个10个元素的数组,各元素值为25、15、48、75、96、35、87、45、25、69,编写程序,找出其中最小数及其下标。

并将数组各元素的值、最小值以及最小数的下标在窗体上输出。

Private Sub Command1_Click()Dim d(9) As Integer, j As Integer, k As Integerd(0) = 25d(1) = 15d(2) = 48d(3) = 75d(4) = 96d(5) = 35d(6) = 87d(7) = 45d(8) = 25d(9) = 69For i = 0 To 9Text1.Text = Text1.Text & CStr(d(i)) & ""NextFor i = 1 To 9If d(i) < d(0) Thenj = id(0) = d(i)End IfNextPrint "最小数是" & d(0) & " " & "下标为" & jEnd Sub4.随机生成10个整数元素的数组,使用选择法对其排序。

VB编程实例

VB编程实例

一、导入到Xls文件并打印Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim a,fsoa=HMIRuntime.Tags("fileName").ReadSet fso = CreateObject("scripting.filesystemobject")If fso.FileExists("C:\Model.xls") ThenDim objExcelAppSet objExcelApp = CreateObject("Excel.Application")objExcelApp.Visible = FalseobjExcelApp.Workbooks.Open "C:\Model.xls"objExcelApp.Cells(2, 3).Value = HMIRuntime.Tags("NewTag1_1").read objExcelApp.Cells(4, 5).Value = HMIRuntime.Tags("NewTag1_2").read objExcelApp.Cells(6, 7).Value = HMIRuntime.Tags("NewTag1_3").read objExcelApp.Cells(8, 9).Value = HMIRuntime.Tags("NewTag1_4").readobjExcelApp.Cells(10, 11).Value = HMIRuntime.Tags("NewTag1_5").read objExcelApp.ActiveWorkbook.SaveAs("C:\Report\"&CStr(a)&".xls")objExcelApp.ActiveWorkbook.PrintOutobjExcelApp.Workbooks.CloseobjExcelApp.QuitSet objExcelApp = NothingMsgBox "文件已经成功导出/Export Successful"ElseMsgBox "Excel模板文件不存在"End ifEnd Sub二、从Xls文件导入或者查询Sub OnLButtonUp(Byval Item, Byval Flags, Byval x, Byval y) Dim a,fsoa=HMIRuntime.Tags("FileName").ReadSet fso = CreateObject("scripting.filesystemobject")If fso.FileExists("C:\Report\"&CStr(a)&".xls") ThenDim objExcelAppSet objExcelApp = CreateObject("Excel.Application") objExcelApp.Visible = FalseobjExcelApp.Workbooks.Open "C:\Report\"&CStr(a)&".xls"HMIRuntime.Tags("NewTag1_1").Write objExcelApp.Cells(2, 3).Value HMIRuntime.Tags("NewTag1_2").Write objExcelApp.Cells(4, 5).Value HMIRuntime.Tags("NewTag1_3").Write objExcelApp.Cells(6, 7).Value HMIRuntime.Tags("NewTag1_4").Write objExcelApp.Cells(8, 9).ValueHMIRuntime.Tags("NewTag1_5").Write objExcelApp.Cells(10, 11).Value objExcelApp.ActiveWorkbook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.QuitSet objExcelApp = NothingMsgBox "导入数据成功/Import Successful"ElseMsgBox "文件不存在/file is not existing"End ifEnd Sub3、WinCC如何实现带确认的按钮操作网上多是介绍C脚本实现的方法,其实VB脚本的实现更简单,代码如下:Sub OnLButtonUp(Byval Item, Byval Flags, Byval x, Byval y) If MsgBox("提示内容",1,"提示标题")=1 ThenHMIRuntime.Tags("TestTag").Write 1ElseHMIRuntime.Tags("TestTag").Write 0End IfEnd Sub说明MsgBox("提示内容",1,"提示标题")中的1为消息窗口中按钮的类型0=vbOKonly1=vbOKCancel2=vbAbortRetryIgnore3=vbYesNoCancel4=vbYesNo一、将WinCC变量导出到TEXT文件Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim fso,FileDim aa=HMIRuntime.Tags("FileName").ReadConst ForWriting = 2Set fso = CreateObject("Scripting.FileSystemObject")Set File = fso.OpenTextFile("D:\Export&Import\"&CStr(a)&".txt", ForWriting, True) File.WriteLine(HMIRuntime.Tags("Var_1").read)File.WriteLine(HMIRuntime.Tags("Var_2").read)File.WriteLine(HMIRuntime.Tags("Var_3").read)File.WriteLine(HMIRuntime.Tags("Var_4").read)file.WriteLine(HMIRuntime.Tags("Var_5").read)File.CloseMsgBox "文件已经成功导出/Export Successful"End Sub二、从TXT文件中读取数据到WinCC变量Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim fsoDim txtfileDim aa=HMIRuntime.Tags("FileName").ReadSet fso = CreateObject("scripting.filesystemobject")If fso.FileExists("D:\\Export&Import\\"&CStr(a)&".txt") ThenSet txtfile = fso.OpenTextFile("D:\\Export&Import\\"&CStr(a)&".txt") HMIRuntime.Tags("Var_1").Write txtfile.ReadLineHMIRuntime.Tags("Var_2").Write txtfile.ReadLineHMIRuntime.Tags("Var_3").Write txtfile.ReadLineHMIRuntime.Tags("Var_4").Write txtfile.ReadLineHMIRuntime.Tags("Var_5").Write txtfile.ReadLineMsgBox "导入数据成功/Import Successful"txtfile.CloseElseMsgBox "文件不存在/File is not existing"End ifEnd Sub。

VB编程实例讲解

VB编程实例讲解

实例53:获得拨号网络项目实例说明在本实例中,我们将制作一个能够取得本地计算机上的拨号网络的项目的应用程序。

程序运行结果如图53-1所示。

图53-1 运行结果技术要点●读取注册表内容●添加到列表框实现过程■新建项目打开Visual ,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“GetDialList”,然后选择保存路径。

单击“确认”。

■添加控件和设置属性向窗体上添加一个ListBox控件。

将窗体的Text属性改为“获得拨号网络项目”,其余属性都保持默认。

■添加代码Private Declare Function RegOpenKey Lib "advapi32.dll" Alias"RegOpenKeyA"(ByVal hKey As Integer, ByVal lpSubKey As String, ByRef phkResultAs Integer) As Integer中级篇 167 Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Integer)As IntegerPrivate Declare Function RegEnumKey Lib "advapi32.dll" Alias"RegEnumKeyA"(ByVal hKey As Integer, ByVal dwIndex As Integer, ByVal lpName AsString, ByVal cbName As Integer) As IntegerConst HKEY_CURRENT_USER As Integer = &H80000001Const ERROR_NO_MORE_ITEMS As Short = 259Const ERROR_SUCCESS As Short = 0Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs AsSystem.EventArgs) Handles MyBase.LoadDim hKey As IntegerDim i As IntegerDim astr As VB6.FixedLengthString = New VB6.FixedLengthString(256)If RegOpenKey(HKEY_CURRENT_USER, "RemoteAccess\Profile", hKey) =ERROR_SUCCESS ThenWhile RegEnumKey(hKey, i, astr.Value, 256) = ERROR_SUCCESSList1.Items.Add(astr.Value)i = i + 1End WhileRegCloseKey(hKey)End IfEnd Sub■运行程序单击菜单“调试|启动”或单击图标运行程序。

Visual_Basic编程教学系列100例

Visual_Basic编程教学系列100例

Visual Basic编程教学100例控件及技巧利用VB三维面板控件设计流动条2000-09-15 00:00:00·王金柱·yeskyVB提供了一个三维面板控件,利用这个控件可设计图形效果的立体界面,从而使应用程序的界面显得更生动、美观,该控件还可以设置各种形式的背景,然后在背景上显示各种形式的字符,令人感兴趣的是,使用三维面板控件,还可设计我们经常在安装程序中看到的表示安装进程的流动条,并可显示进程百分比,改变流动条的颜色等。

一、介绍属性FloodColor:确定流动条的颜色,缺省为蓝色。

FloodPercent:显示当前过程如流动条进行的百分比,参数改变时显示的百分数和流动条的面积改变,设为一整型值,取值范围是0~100。

FloodShowpct:决定是否在三维面板控件上显示百分比,是一个逻辑值。

为True 时显示,为False时不显示。

FloodType:表示用户对三维面板控件的使用方式。

可取值有6个,如下所示:0缺省设置1表示流动条方向从左到右2表示流动条方向从右到左3表示流动条方向从上到下4表示流动条方向从下到上5表示使用指定的颜色从圆心向外画圆二、流动条设计如果在Windows3?X下,工具箱中不存在三维面板控件,可选择File菜单中的“Add File…”进行添加,在弹出的对话框中找到Windows\System目录,然后选定Threed?vbx文件即可,如果使用VB4.0,需在Tools菜单中选择Custom Controls命令,选定Sheridan 3d Controls项,按OK按钮,可在工具箱中增加三维面板控件。

启动VB3?0,在窗体中画一水平方向的长方形三维面板控件,按F4,在属性窗口中设置其Name为P3d、Bevellnner为2-Raised、FloodType为1、FloodshowPct 为True,再在窗体中画一个按钮Command1,双击该按钮,键入下面的代码:Sub Command1_Click()P3d?floodpercent=0For N%=1 To 100If N%$#@62;100 THENExit SubEnd IfP3d?FloodPercent=N%Next I%End Sub按F5,运行该程序,点击Command按钮,即可看到流动条效果。

VB经典竞赛实例程序代码(原创易懂)

VB经典竞赛实例程序代码(原创易懂)

VB 经典案例,竞赛必考出自原创镇宁民族中学 张国海1、1-9组成的不同三位数成1:2:3Private Sub Command1_Click()Dim i, j, k, l, num1, num2, num3 As Integer Dim str, str2 As String For i = 1 To 9 For j = 1 To 9 For k = 1 To 9num1 = i * 100 + j * 10 + k '生产三个三位数并建立关系 num2 = num1 * 2 num3 = num1 * 3If num2 > 999 Or num3 > 999 Then GoTo aa '如果大于999就结束循环 str = num1 & num2 & num3For l = 1 To 9If InStr(1, str, l) = 0 Then GoTo bb '查找这三个数是否包含1到9 Nextstr2 = str2 & num1 & vbTab & num2 & vbTab & num3 & vbCrLfPrint num1, num2, num3 bb: Next Next Next aa:MsgBox str2 '用显示框显示结果 End Sub2、手动输入任意数并进行排序 Private Sub Command1_Click() Dim b(10) As Long Dim a, m, s As Long Dox = InputBox("请输入10以内的数") a = Val(x) If a > 10 Then MsgBox ("dfdf") End IfLoop Until a <= 10 '控制输入10以内的数为排序的个数For s = 1 To ab(s) = InputBox("请输入任意数")Next '手动输入任意数值For i = 1 To a For j = i To aIf b(i) < b(j) Then '实现从大到小排序 m = b(j) b(j) = b(i) b(i) = m End If Nexts = s & b(i) & vbTab '把排序好的数用空格链接在一行上 Next Print s End Sub3、随机产生20个1到20的数去重后排序Private Sub Command1_Click() Dim s(20) As Long Dim i, m As LongText1.Text = "" '设初始值为空Text2.Text = "" Text3.Text = ""For i = 1 To 20s(i) = Int(Rnd * 19 + 1)Text1.Text = Text1.Text & s(i) & " " Next iFor j = 1 To 19For k = j + 1 To 20If s(j) = s(k) Then '把相同的数值归为0 s(k) = 0 End If Next k, jFor l = 1 To 20If s(l) <> 0 Then '统计不等于0的数值,也就是去掉重复的数值Text2.Text = Text2.Text & s(l) & " " End If Next lFor m = 1 To 20 For n = m To 20 If s(m) > s(n) Then t = s(n) s(n) = s(m) s(m) = t End If Next nIf s(m) <> 0 Then '统计排序后不等于0的数值,也就是去掉重复的数值Text3.Text = Text3.Text & s(m) & " " End If Next m End Sub4、求键盘字母的使用频率(不含非英文)Private Sub Command1_Click() Dim x, t As StringDim a(26), s As Integer Dim b(26) As DoubleOpen "D:\基本功训练\part.txt" For Input As #1 DoInput #1, x t = t & xLoop Until EOF(1)For i = 1 To Len(t)If Asc(UCase(Mid(t, i))) - 64 >= 1 And Asc(UCase(Mid(t, i))) - 64 <= 26 Thena(Asc(UCase(Mid(t, i))) - 64) = a(Asc(UCase(Mid(t, i))) - 64) + 1End If Next iFor k = 1 To 26 Print a(k)num = num + a(k) Next kText2.Text = Len(t)For j = 1 To 26b(j) = Format(a(j) / num * 100, "0.00")Text1.Text = Text1.Text & b(j) & "%" & " " Print Next jClose #1 End Sub5、倒计时的制作Dim x, h, m, s As IntegerPrivate Sub Command1_Click()x = InputBox("请输入时间,以分为单位")h = x \ 60m = x Mod 60s = 0Text1.Text = h & ":" & m & ":" & sTimer1.Enabled = TrueTimer1.Interval = 1000End SubPrivate Sub Command2_Click()Timer1.Enabled = Not Timer1.Enabled '暂停和开始End SubPrivate Sub Timer1_Timer()If h = 0 And m = 0 And s = 0 ThenMsgBox ("时间到!")EndElseIf s = 0 Thens = 59If m = 0 Thenm = 59h = h - 1Elsem = m - 1End IfElses = s - 1End IfText1.Text = h & ":" & m & ":" & sEnd Sub。

(完整版)vb实用案例50例

(完整版)vb实用案例50例

实验报告11实验报告2:实验题目1:设计窗体。

参考界面如下:运行前运行后要求:1)在窗体上添加一个标签,通过属性窗囗设置标签格式:Caption:字体格式Alignment:2—Center(居中)BorderStyle :1—Fixed Single(有边框)Backstyle:0—Tansparent(背景透明)2)运行时,单击“字号”,将标签内容的字号设置为30;单击“加粗”,将标签内容加粗;单击“下划线”,则在标签内容下加下划线。

提示:字号FontSize、加粗FontBold、下划线FontUnderline实验题目1源程序代码:Private Sub Command1_Click()Label1.FontSize = 30End SubPrivate Sub Command2_Click()Label1.FontBold = trueEnd SubPrivate Sub Command3_Click()Label1.FontUnderline = TrueEnd Sub实验题目2:设计一个计算器。

参考界面如下:要求:1)实现算术运算(+、-、*、/)的功能;2)实现清除和结束的功能;3)实现清除后,将焦点移到第一个文本框中。

实验题目2源程序代码:Private Sub Command1_Click()Text3.Text = Val(Text1.Text) + Val(Text2.Text)End SubPrivate Sub Command2_Click()Text3.Text = Val(Text1.Text) - Val(Text2.Text)End SubPrivate Sub Command3_Click()Text3.Text = Val(Text1.Text) * Val(Text2.Text)End SubPrivate Sub Command4_Click()Text3.Text = Val(Text1.Text) / Val(Text2.Text)End Sub实验题目3:设计一个能够统计某学生三门课程成绩总分和平均分的程序。

VB编程案例(蝴蝶飞舞,计算器,加密,解密,矩阵转置,鸟巢,统计,文本编辑,小球跳动,学生信息录入窗口)

VB编程案例(蝴蝶飞舞,计算器,加密,解密,矩阵转置,鸟巢,统计,文本编辑,小球跳动,学生信息录入窗口)

目录一、鸟巢绘制 (2)二、加密 (3)三、解密 (4)四、蝴蝶飞舞 (6)五、文本编辑 (6)六、统计 (9)七、小球跳动 (11)八、计算器(彩票摇奖) (12)九、学生信息录入 (16)十、矩阵转置 (17)一、鸟巢绘制Private Sub Form_Click()ClsDim r, xi, yi, xj, yj, x0, y0, aif As Singler = Form10.ScaleHeight / 2x0 = Form10.ScaleWidth / 2y0 = Form10.ScaleHeight / 2n = 16aif = 3.14159 * 2 / nFor i = 1 To nxi = r * Cos(i * aif) + x0yi = r * Sin(i * aif) + y0For j = i To nxj = r * Cos(j * aif) + x0yj = r * Sin(j * aif) + y0Line (xi, yi)-(xj, yj), QBColor(i - 1)PSet (xi, yi)Print i - 1Next jNext iEnd SubPrivate Sub Form_Load()Print "要求:";Print "1.将圆周等分成16份;"Print "2.每个等分点要标记成0-16的数字;" Print "3.按样本图的图案画图。

"End Sub附图:二、加密Function code(ByVal s$, ByVal key%) Dim c As String * 1, iAsc%code = ""For i = 1 To Len(s)c = Mid$(s, i, 1)Select Case cCase "A" To "Z"iAsc = Asc(c) + keyIf iAsc > Asc("Z") Then iAsc = iAsc - 26 code = code + Chr(iAsc)Case "a" To "z"iAsc = Asc(c) + keyIf iAsc > Asc("z") Then iAsc = iAsc - 26 code = code + Chr(iAsc)Case Elsecode = code + cEnd SelectNext iEnd FunctionPrivate Sub close_Click()Form11.HideForm1.ShowEnd SubPrivate Sub Jiami_Click()Text2 = code(Text1, 2)End SubPrivate Sub open_Click()CommonDialog1.Action = 1Text1.Text = ""Open CommonDialog1.FileName For Input As #1Dim counter As IntegerDim workarea(25000) As StringProgressBar1.min = LBound(workarea)ProgressBar1.max = UBound(workarea)ProgressBar1.Visible = TrueProgressBar1.Value = ProgressBar1.minFor counter = LBound(workarea) To UBound(workarea) workarea(counter) = "initial value " & counter ProgressBar1.Value = counterNext counterDo While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + vbCrLfLoopClose #1End SubPrivate Sub save_Click()CommonDialog1.FileName = "a1.txt"CommonDialog1.DefaultExt = "txt"CommonDialog1.Action = 2Open CommonDialog1.FileName For Output As #1Print #1, Text2.TextClose #1End Sub三、解密Function UnCode(ByVal s$, ByVal key%)Dim c As String * 1, iAsc%UnCode = ""For i = 1 To Len(s)c = Mid$(s, i, 1)Select Case cCase "A" To "Z"iAsc = Asc("c") - keyIf iAsc < Asc("A") Then iAsc = iAsc + 26UnCode = UnCode + Chr(iAsc)Case "a" To "z"iAsc = Asc(c) - keyIf iAsc < Asc("a") Then iAsc = iAsc + 26UnCode = UnCode + Chr(iAsc)Case ElseUnCode = UnCode + cEnd SelectNext iEnd FunctionPrivate Sub close_Click()Form2.HideForm1.ShowEnd SubPrivate Sub Jiemi_Click()Text2 = UnCode(Text1, 2)End SubPrivate Sub open_Click()CommonDialog1.Action = 1Text1.Text = ""Open CommonDialog1.FileName For Input As #1Dim counter As IntegerDim workarea(25000) As StringProgressBar1.min = LBound(workarea) ProgressBar1.max = UBound(workarea) ProgressBar1.Visible = TrueProgressBar1.Value = ProgressBar1.minFor counter = LBound(workarea) To UBound(workarea) workarea(counter) = "initial value " & counter ProgressBar1.Value = counterNext counterDo While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + vbCrLfLoopClose #1End SubPrivate Sub save_Click()CommonDialog1.FileName = "a.txt" CommonDialog1.DefaultExt = "txt" CommonDialog1.Action = 2Open CommonDialog1.FileName For Output As #1 Print #1, Text2.TextClose #1End Sub四、蝴蝶飞舞Private Sub Form_Load()Print "蝴蝶飞出窗体后重新定位到左下方再向右上方飞" End SubPrivate Sub Timer1_Timer()Static PickBmp As IntegerIf PickBmp = 0 ThenImage1.Picture = Image2.PicturePickBmp = 1ElseImage1.Picture = Image3.PicturePickBmp = 0End IfCall mymoveEnd SubSub mymove()Image1.Move Image1.Left + 40, Image1.Top - 25If Image1.Top <= 0 ThenImage1.Left = 0Image1.Top = 2325End IfEnd Sub图:五、文本编辑Private Sub Copy_Click()Clipboard.ClearClipboard.SetText RichTextBox1.SelTextEnd SubPrivate Sub Cut_Click()Clipboard.ClearClipboard.SetText RichTextBox1.SelTextRichTextBox1.SelText = ""End SubPrivate Sub Exit_Click()Form3.HideForm1.ShowEnd SubPrivate Sub Font_Click()CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects CommonDialog1.Action = 4RichTextBox1.FontName = CommonDialog1.FontName RichTextBox1.FontSize = CommonDialog1.FontSize RichTextBox1.FontBold = CommonDialog1.FontBold RichTextBox1.FontItalic = CommonDialog1.FontItalic RichTextBox1.FontStrikethru = CommonDialog1.FontStrikethru RichTextBox1.FontUnderline = CommonDialog1.FontUnderline RichTextBox1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub Form_Load()Print "注:"Print "1.'打开'对话框的初始文件夹应是所要打开文件所在的" Print "文件夹,将提供的xz.txt文件打开;"Print "2.要实现将选定的内容格式化,必须在工具箱中添加" Print "RichTextBox控件(Microsoft Rich Textbox Comtrol 6.0)" Print "并在帮助菜单中查阅其字体设置的相关属性。

VB初学者实例50例

VB初学者实例50例

第四代计算机语言,VB的特点是显而易见的。

因为是“可视的”所以我们不妨先看看VB的界面(我用的是VB4.0 32位版),很容易可以看到,屏幕上有五个窗口,(1)是菜单栏;(2)是工具箱(Tools Box),里面是VB所需的控件;(3)是VB程序要设计的窗体(Form);(4)控件及窗体的属性(Properties),在VB中每一个控件都有其自己的属性,比如文本框有Text属性,而任何一个控件都有一个自己唯一的名字,这使得我们无需编程就可以完成部分编程的工作;(5)是VB的文件控制窗口,VB的每一个程序称为一个项目(Project),一个项目文件里往往包括以下两种文件,窗体(Form)文件和模块(Bas)文件,当然还有Class文件,这些文件组成一个完整的程序,而项目文件(Vbp)则用来描述程序所包含的内容。

实际上,我一直认为学习的最好方法就是实际操作一下,好,下面我们就来看一个最简单的程序,和所有的编程教科书一样,我们把第一个程序称为“Hello,world!”。

首先,我们先来熟悉一下窗体。

如果你用过Win95附件所带的画图板的话,那么你一定会很快熟悉VB的窗体设计方法,用鼠标单击一下工具箱中的任何一个控件,然后在窗体上任意拖动鼠标,你就会得到一个所需的控件;当然还有其他的方法得到控件,你可以在工具箱上双击得到一个控件;或是按住Ctrl键,再单击所需控件,重复第一次的步骤,你会发现,不用再回去点击工具箱了,点右键可以恢复鼠标指针,这样对于重复画同一个控件尤其有用。

对于我们的第一个小程序,知道这些就已经足够了。

现在你可以在我们的窗体上画如下控件一个图片框(Picture Box),用来显示图画,每一个控件建立的时候,系统都会给它设一个默认的名字(Name),这个PictureBox的名字就叫做Picture1,为了方便起见,我们以后的控件都使用缺省的名称。

选定Picture1,在左边的属性窗口中找到Picture属性,单击会出现,点击为Picture1选一个图像文件,VB支持的图像文件有BitMap、WMF、ICO三种,微软为用户提供了一套图标文件,存放在VB目录的Icons目录下,选择Icons\misc\face01.ico文件,这样图标就被装入了Picture1。

VB案例集锦

VB案例集锦

案例集锦在前面的章节中讲述了使用VB创建数据库应用程序的几个范例,其实作为编程语言来说,VB易于掌握和提高,可以极为迅速和简洁的创建Windows应用程序,非常适合普通的用户来编写符合自己需要的实用小程序。

在接下来的内容中将向读者介绍几个用VB开发实用小程序的方法,并且结合实例向读者介绍VB编程中的许多技巧。

案例一我的桌面小闹钟一、概述在本例中将创建一个可以自动跟随鼠标移动的小闹钟,实时地显示当前计算机的时间,并且允许用户添加、删除和修改定时任务,这些任务将被保存在一个Access数据库中,在设置的时间到达时,闹钟将用音乐警报,并弹出消息框来提示用户。

其功能模块图如图1.1所示。

图1.1系统的功能模块图二、数据库的准备通过Access或者VB可视化数据管理器创建一个Access数据库,在其中添加一个名为“任务列表”的数据表。

该数据表的结构如表1.1所示。

表1.1 “任务列表”数据表的结构三、应用程序的编写在VB中创建一个新的“标准EXE”工程,将其命名为“我的小闹钟”。

在工程默认的窗体Form1中添加一个图片控件,两个标签控件,一个时间控件,依表11.2至表11.5所示的内容设置窗体和控件的属性。

2案例集锦表1.2窗体Form1的属性表1.3图片控件的属性表1.4标签控件的属性表1.5时间控件的属性在控件箱窗体的空白部分右键单击,在弹出的菜单中选择“部件”,将打开“部件”对话框,如图1.2所示。

图1.2“部件”对话框在“部件”对话框中选择“控件”选项卡,在其列表中找到“Microsoft Multimedia Control 6.0”,在其前方的复选框中打勾,单击“确定”按钮,向工程中添加对Mutimedia MCI控件的引用。

在控件箱的最后将出现Mutimedia MCI控件的图标,选中其图标,在Form1中绘出其实例,如图1.3所示,其属性将在代码中设置。

案例一 我的桌面小闹钟3图1.3 添加Mutimedia MCI 控件的Form1在工程中添加一个普通窗体Form2,如表1.7和表1.8所示为其设置属性并添加菜单。

VB初学者实例50例

VB初学者实例50例
If Msg <> WM_CONTEXTMENU Then
SubClass_WndMessage = CallWindowProc(OldWindowProc, hWnd, Msg, wp, lp)
Exit Function
End If
SubClass_WndMessage = True
As String) As Long
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Else
Text1.Text = "This is a readonly text box." '文本窗口是可读写窗口,设置为只读窗口
l = SendMessage(Text1.hwnd, EM_SETREADONLY, True, vbNull)
Text1.BackColor = vbInactiveBorder '将背景设置为灰色
Private Sub Command2_Click()
SetOnTop 0
End Sub
7.只容许运行一个程序实例(利用互斥体)
选择启动对象为sub main()
module:
Public Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" _ (lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName _

Excel VBA编程常用实例 例

Excel VBA编程常用实例 例
3
图 00-06:刚打开 VBE 编辑器时的窗口 可以在“工程资源管理器”中双击任一对象打开代码窗口,或者选择菜单“插入—— 模块”或“插入——类模块”来打开代码窗口。一般 VBE 编辑器窗口及各组成部件 名称如图 00-07 所示,可以通过“视图”菜单中的菜单项选择所出现的窗口。同时, 可以在“工程属性”窗口中设置或修改相应对象的属性。
图 00-09:帮助搜索窗口
■ 可以按 F2 键,调出“对象浏览器”窗口(如图 00-10 所示),在搜索文本框中输 入需要帮助的关键词,将会在“搜索结果”中出现一系列相关的对象及方法、属性
7
列表,单击相应的对象则会在“类”和“成员”列表框中显示相应的对象和方法、属 性成员列表,在成员列表中相应的项目上按 F1 键即会出现详细的帮助信息。(“对 象浏览器”是一个很好的帮助工具,值得好好研究)
示例 01-03:处理光标(Cursor 属性) Sub ViewCursors()
图 00-10:对象浏览器窗口 参考资料 《ExcelVBA 编程入门范例》参考或引用了以下书籍和资料: (1)Excel 2003 高级 VBA 编程宝典
8
(2)Excel 2003 与 VBA 编程从入门到精通(中文版) (3)巧学巧用 Excel 2003 VBA 与宏(中文版) (4)ExcelVBA 应用程序专业设计实用指南 (5)ExcelVBA 应用开发与实例精讲 (6)一些网上资源
1
图 00-01:选择菜单“工具——宏——Visual Basic 编辑器”命令来打开 VBE 编辑 器
图 00-02:选择 Visual Basic 工具栏上的“Visual Basic 编辑器”命令按钮来打开 VBE 编辑器 此外,您也可以使用下面三种方式打开 VBE 编辑器:

vb100例( 下) (3)

vb100例( 下) (3)

VB基础程序设计100例(下)在掌握了程序设计基础后,进一步掌握面向对象的程序设计技术,学会各种控件的使用注意:尽量不使用变体型变量,对每个变量予以显式声明。

55. 单击窗体,开始计时,在窗体上显示经过的秒数,并有节拍声。

(程序中的c为何定义为窗体变量?)56. 程序运行后,在窗体的标签框显示“热烈欢迎”,单击开始按钮,显示的字向左循环移动,单击暂停按钮则停止移动,再单击继续按钮则继续移动(注意两个按钮的互锁)57. 通过水平滚动条选择m和n的值,计算m中选n的组合数,并将相应的计算结果显示再文本框中。

(注意如何控制n<=m,以及个对象事件过程、函数之间的调用和参数传递)58. 计时器,关于三个有关时间的函数的例题(注意两个按钮的互锁)59. 指定窗体最大,将五个图片框做成的控件数组(图像框Image不能构成数组),图片框分别装入四个方向的箭头图标和停止图标,单击图标控制窗体上图片框的控件的移动,当图片框碰到窗体边缘时,改为向反方向移动(有关图标的文件在Program Files/Microsoft Visual Studio/Common/Graphics/Icons下的相应文件夹中,在设计时装入)60. 在文本框输入口令,单击“检查口令”按钮,如果口令正确,则在图片框装入图片,并在信息框显示“口令正确,继续执行”;如果口令不正确,则显示“口令不对,重新输入”,单击“开始”按钮则清除文本框和图片框并重新开始(注意文本框的PasswordChar属性和MultLine属性的设置)61. 测试你在一分钟内能做多少道两位数的加法题,做完后在标签中显示“共出题M道,你作对了N道”62. 用三个命令按钮控制图像框,使装入的图片可以放大、缩小和充满全屏,当窗体的高度或宽度改变时,图片也做相应的放大或缩小以充满全屏(将Image1的stretch属性设为true,则图片可自动缩放充满图像框。

而图片框Picture在AutoSize属性为真时,可适应图片的大小,但不能缩放图片)63. 两个100以内的正整数m和n,使两数之和与两数之差都是完全平方数,求所有满足条件的数对(m,n)。

VB程序设计经典案例

VB程序设计经典案例

VB程序设计经典案例'-------------------------------------------------'【程序设计】'-------------------------------------------------'题目:(事件)单击窗体。

' (响应)我国现有人口为13亿,设年增长率为1%,' 计算多少年后增加到20亿。

并将结果输出' 在窗体上。

将结果存入变量year中。

' 使用do while ...loop语句完成程序。

'-------------------------------------------------Private Sub Form_Click()Dim year As Integer, sum As Single'***************** Begin **************Dim p as doubleDim r as singleP=1300000000r=0.01Do while p<2000000000P=p+p*rn=n+1LoopPrint “n=”,nYear=n'*************** End *************************'-------------------------------------------------'题目:(事件)单击窗体。

' (响应)求从100到1000之间所有是3的倍数的数之' 和,当和大于3000时,停止计算并输出和。

请将结果输' 出到窗体上,并存入所给变量SUM中。

使用for...next语' 句完成程序'-------------------------------------------------Private Sub Form_Click()Dim sum As Integer'***************** Begin **************sum = 0Dim i As IntegerFor i = 100 To 1000If i Mod 3 = 0 Thensum = sum + iIf sum > 3000 Then Exit ForEnd IfNext iPrint sum'*************** End *************************1题目(事件)点击窗体(响应)求1!+2!+3!+…………………+10!的值,并在窗体上输出,结果存入变量L中Private sub form –click()Dim l as longDim p as longP=1Fori=1to10P=p*il=l+pnextprint lend sub3题目点击窗体求100以内偶数的和,并将结果输出在窗体上,将结果存入变量sum 中Private sub form –click() 如果是奇数的和,则Dim sum as integer …………………….For i=0 to 100 step2 for i=1 to 100 step 2Sum=sum+i………………Next ……….Print sumEnd sub ………………………..题目:单击窗体求1+2+3+4+5+……………….+100的值并将结果输入在窗体上,结果存入变量sum 中Private sub form –click()Dim sum as integerFor i=0 to 100Sum=sum+iNextPrint sumEnd sub题目双击窗体求1+5+10+15+……………..+500的和,并将结果输出在窗体上,将结果存入变量sum 中Private sub form-click()Dim sum as longSum=0For i=0 to 500 step 5Sum=sum+iNextPrint sumEnd sub'题目:求两个数m,n的最大公约数p和最小公倍数q'-------------------------------------------------'注意:请在指定的事件内编写代码。

(整理)vb编程实例.

(整理)vb编程实例.

实验30(1)Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim a As String, b As String, c As StringDim x1 As Single, x2 As Singlea = InputBox("输?入?A", "输?入?数簓据YY", , 500, 500)b = InputBox("输?入?B", "输?入?数簓据YY", , 500, 500)c = InputBox("输?入?C", "输?入?数簓据YY", , 500, 500)x1 = -b + Math.Sqrt(b ^ 2 - 4 * a * c) / 2 / ax2 = -b - Math.Sqrt(b ^ 2 - 4 * a * c) / 2 / aMsgBox("x1=" & Format(x1, "###.###") & " x2=" & Format(x2, "###.###")) End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickDim x As SingleDim y As Singlex = InputBox("输?入?x")y = Math.Log(20) + Math.Abs(x - 16)MsgBox("Math.Log(20) + Math.Abs(x - 16)=" & y)End Sub计算落体Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.ClickConst g As Single = 9.81Dim v As Single, o As Single, t As Single, s As Singlev = InputBox("输?入?初?速ù度è")o = InputBox("输?入?角?度è")t = 2 * v * Math.Sin(o * Math.PI / 180) / gs = v * Math.Sin(2 * o * Math.PI / 180) / gMsgBox("落?地?所ù需è时骸?间?" & t & " 落?地?时骸?运?动ˉ的?射?程ì" & s) End SubEnd Class实验30 (2)随机产生奇偶数并输出Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim x As Integerx = Int(Rnd() * 100)If x Mod 2 = 0 ThenMsgBox(x & "是?偶?数簓")ElseMsgBox(x & "是?奇?数簓")End IfEnd Sub比较三个数的大小并输出Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim a As Single, b As Single, c As Single, x As Single, y As Singlea = InputBox("请?输?入?a")b = InputBox("请?输?入?b")c = InputBox("请?输?入?c")If a > b Thenx = ay = bElsex = by = aEnd IfIf c > a Thenx = cElseIf c < b Theny = cEnd IfEnd IfMsgBox("最?大洙?数簓" & x & " 最?小?数簓" & y)End Sub计算当T<120时的计算(循环语句)Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickDim t As Single, f As Singlet = InputBox("请?输?入?t")If t < 120 Thenf = 0.06 * t + 2MsgBox("f = 0.06 * t + 2=" & f)Elsef = 0.06 * t * 0.85MsgBox("f = 0.06 * t * 0.85=" & f)End IfEnd Sub判断成绩等级Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim x As SingleDim y As Stringx = InputBox("请?输?入?成é绩¨")If x >= 90 Theny = "A"ElseIf x >= 80 Theny = "B"ElseIf x >= 70 Theny = "C"ElseIf x >= 60 Theny = "D"Elsey = "E"End IfMsgBox("成é绩¨" & x & "等台?级?为a" & y)End SubCase选择Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button5.ClickDim x As Single, y As Singlex = InputBox("请?输?入?x")Select Case xCase Is <= -1y = x - 1Case Is <= 2y = 2 * xCase Is <= 10y = x * (x + 2)Case Elsey = 0End SelectMsgBox("y=" & y)End Sub计算算数根Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.ClickDim a As String, b As String, c As StringDim x1 As Single, x2 As Single, x As Singlea = InputBox("输?入?A", "输?入?数簓据YY", , 500, 500)b = InputBox("输?入?B", "输?入?数簓据YY", , 500, 500)c = InputBox("输?入?C", "输?入?数簓据YY", , 500, 500)x = b ^ 2 - 4 * a * cIf x >= 0 Thenx1 = -b + Math.Sqrt(x) / 2 / ax2 = -b - Math.Sqrt(x) / 2 / aMsgBox("x1=" & Format(x1, "###.###") & " x2=" & Format(x2, "###.###")) Elsex1 = Math.Sqrt(-x) / 2 / ax2 = -Math.Sqrt(-x) / 2 / aMsgBox("x1=" & -b / 2 / a & x1 & "i x2=" & -b / 2 / a & x2 & "i") End IfEnd Sub循环语句实验31Public Class Form1Dim a(19) As IntegerPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim i As IntegerDim n As IntegerDim s As Singles = 0n = InputBox("请?输?入?n")For i = 1 To ns = s + 1 / (i * (i + 1))NextMsgBox("s=" & s)End Sub求下标是奇偶数的代码Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim a(10) As IntegerDim i As IntegerDim x As IntegerDim y As Integerx = 0y = 0For i = 1 To 10InputBox("请?输?入?第台? & i & "个?数簓")If i Mod 2 = 0 Thenx = x + a(i)Elsey = y + a(i)End IfNextMsgBox("下?标括?为a奇?数簓的?元a素?和í为a" & y & "下?标括?为a偶?数簓的?元a素?和í为a" & x)End Sub画星星图Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button3.ClickDim r As Integer, s As Integer, c As Integer, y(5) As String, j As Integer, ys As Stringys = ""r = 1Do While r <= 4c = 10 - r : s = 1y(r) = y(r) & Space(c + s)Do While s <= 2 * r - 1y(r) = y(r) & "*"s = s + 1Loopr = r + 1LoopFor j = 1 To 4ys = ys & y(j) & Chr(10)NextMsgBox(ys)End Sub画图Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim r As Integer, s As Integer, c As Integer, y(5) As String, ys As Stringys = ""r = 4Do While r >= 1c = 10 - r : s = 1ys = ys & Space(c + s)Do While s <= 2 * r - 1ys = ys & "*"s = s + 1Loopr = r - 1ys = ys & Chr(10)LoopMsgBox(ys)End SubPrivate Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.ClickEnd Sub随机产生几个数并输出相关条件的个数Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.ClickDim s As StringDim i As IntegerDim x As IntegerDim y As Integerx = 0y = 0s = ""For i = 0 To 19a(i) = Int(Rnd() * 100)s = s & a(i) & ","If a(i) > 50 Thenx = x + 1ElseIf a(i) < 10 Theny = y + 1End IfNextMsgBox(s & vbCrLf & "50?元a以?上?的?业唉?务?人?数簓为a" & x & ",10?元a 以?下?的?业唉?务?人?数簓为a" & y)End Sub随机产生并排序Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click'Dim a(19) As IntegerDim t As IntegerDim i As IntegerDim j As IntegerDim x As StringDim y As Stringx = ""y = ""'For i = 0 To 19' a(i) = Int(Rnd() * 100)' x = x & a(i) & ","'NextFor i = 0 To 19For j = 19 To i + 1 Step -1If a(j) < a(j - 1) Thent = a(j)a(j) = a(j - 1)a(j - 1) = tEnd IfNexty = y & a(i) & ","NextMsgBox(x & vbCrLf & y)End SubPrivate Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.ClickDim a As IntegerDim b(9) As IntegerDim s As IntegerDim u As StringDim i As IntegerRandomize()a = Int(Rnd() * 90000000 + 10000000)For i = 0 To 7s = Mid(a, i + 1, 1)b(s) = b(s) + 1Nextu = "8位?数簓为a:阰(" & a & ")" & vbCrLfFor i = 0 To 9u = u & i & "出?现?次?数簓:阰" & b(i) & vbCrLfNextMsgBox(u)End SubPrivate Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.ClickDim b(19) As IntegerDim i As IntegerDim s As Strings = ""For i = 0 To 19b(i) = Int(Rnd() * 90000000 + 10000000)s = s & b(i) & vbCrLfNextMsgBox(s)End Sub循环语句Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.ClickDim i As IntegerDim t As SingleDim s As Integeri = 1t = 1 / (i * (i + 1))s = 0Do While t >= 0.000001s = s + ti = i + 1t = 1 / (i * (i + 1))LoopMsgBox("s=" & s)End SubPrivate Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.ClickDim i As IntegerDim t As SingleDim s As Singlei = 1t = 1 / (i * (i + 1))s = 0Dos = s + ti = i + 1t = 1 / (i * (i + 1))Loop While t >= 0.000001MsgBox("s=" & s)End SubPrivate Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.ClickDim a() As IntegerDim i As IntegerDim n As IntegerDim x As IntegerDim y As Integerx = 0y = 0n = InputBox("请?输?入?数簓组哩?的?数簓量?")ReDim a(n)For i = 1 To na(i) = InputBox("请?输?入?第台? & i & "个?数簓")If i Mod 2 = 0 Thenx = x + a(i)Elsey = y + a(i)End IfNextMsgBox("下?标括?为a奇?数簓的?元a素?和í为a" & y & "下?标括?为a偶?数簓的?元a素?和í为a" & x)End SubPrivate Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.ClickDim s As StringDim y As StringDim t As StringDim a() As StringDim i As IntegerDim j As IntegerDim l As Integert = ""y = ""s = InputBox("请?输?入?要癮排?序ò的?字?符?串?")l = Len(s)ReDim a(l)For i = 1 To la(i) = Mid(s, i, 1)NextFor i = 1 To lFor j = l To i + 1 Step -1If a(j) < a(j - 1) Thent = a(j)a(j) = a(j - 1)a(j - 1) = tEnd IfNexty = y & a(i)NextMsgBox(s & vbCrLf & y)End SubPrivate Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.ClickDim n As IntegerDim i As IntegerDim j As IntegerDim s As StringDim t As StringDim i_0 As IntegerDim j_0 As IntegerDim mfz_bz(9, 9) As StringDim mfz(9, 9) As Stringn = InputBox("请?输?入?魔§方?阵ó阶×数簓 N")If n < 3 Or n > 9 Or n Mod 2 <> 1 ThenMsgBox("您ú输?入?的?魔§方?阵ó阶×数簓 N 不?在ú范?围§内ú,?请?输?入?3-9之?间?的?奇?数簓")Exit SubEnd If'初?始?化ˉFor i = 1 To 9For j = 1 To 9mfz_bz(i, j) = 0mfz(i, j) = ""Next jNext imfz(1, n \ 2 + 1) = 1mfz_bz(1, n \ 2 + 1) = 1i_0 = 1j_0 = n \ 2 + 1For ysz = 2 To n * nIf mfz(i_0, j_0) > n And (mfz(i_0, j_0) Mod n = 0) Then i = i_0 + 1j = j_0ElseIf i_0 = 1 Theni = nj = j_0 + 1ElseIf j_0 = n Theni = i_0 - 1j = 1Elsei = i_0 - 1j = j_0 + 1End IfIf mfz_bz(i, j) = 1 Theni = i_0 + 1j = j_0End Ifmfz(i, j) = yszmfz_bz(i, j) = 1i_0 = ij_0 = jNext yszMsgBox("魔§方?阵ó排??毕?")s = ""For i = 1 To 9For j = 1 To 9t = mfz(i, j)s = s & Format(t, "{0,4}")Nexts = s & vbCrLfNextEnd SubEnd Class实验33Public Class Form1计算油钱Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim t As Integer, f As Single, x As Stringt = Val(TextBox1.Text)f = 7.69 * tx = Str$(f) + "元a"Label2.Text = xTextBox1.Focus()End SubPrivate Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadTextBox1.Text = ""Label2.Text = ""End SubEnd Class判断身体健康Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim x As IntegerIf TextBox1.Text = ""ThenTextBox1.Focus() '在ú文?本?框ò1输?入?身Θ?高?MsgBox("请?输?入?身Θ?高?")Exit SubIf TextBox2.Text = ""ThenTextBox2.Focus() '在ú文?本?框ò2输?入?体?重?MsgBox("请?输?入?体?重?")Exit SubEnd If'选?择?性?别纄If RadioButton1.Checked = False And RadioButton2.Checked = False Then'此?种?情é况?不?会á发ぁ?生Θ?MsgBox("请?选?择?被?检ì测a者?性?别纄")Exit SubEnd IfIf RadioButton1.Checked = True Thenx = Val(TextBox1.Text) - 100 '计?算?男D性?体?重?ElseIf RadioButton2.Checked = True Thenx = Val(TextBox1.Text) - 105 '计?算?女?性?体?重?End If'判D断?体?重?是?否?超?标括?,?并¢显?示?If Val(TextBox2.Text) > x ThenLabel3.Text = "体?重?超?标括?,?请?注痢?意癮饮?食?与?运?动ˉ!?"ElseLabel3.Text = "体?重?正y常£"End IfEnd SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click'清?除y计?算?体?重?和í超?标括??示?Label3.Text = "" : TextBox1.Text = "" : TextBox2.Text = ""RadioButton1.Checked = False : RadioButton2.Checked = FalseEnd SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickEnd'结á束?工¤程ì运?行DEnd SubPrivate Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadMe.Show()TextBox1.Focus()End SubEnd ClassPublic Class Form1Dim x As Integer, varstring As StringPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadTextBox3.Enabled = FalseButton1.Enabled = FalseTextBox3.Font = New Font("宋?体?", 10, FontStyle.Regular)End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickEndEnd Sub调整字体Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickSelect Case TrueCase CheckBox1.Checked = True And CheckBox2.Checked = FalseTextBox3.Font = New Font("宋?体?", 10, FontStyle.Bold)Case CheckBox2.Checked = True And CheckBox1.Checked = FalseTextBox3.Font = New Font("宋?体?", 10, FontStyle.Italic)Case CheckBox1.Checked And CheckBox2.CheckedTextBox3.Font = New Font("宋?体?", 10, FontStyle.Bold Or FontStyle.Italic) Case CheckBox1.Checked = False And CheckBox2.Checked = FalseTextBox3.Font = New Font("宋?体?", 10, FontStyle.Regular)End SelectEnd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTextBox3.Enabled = TrueTextBox3.Text = TextBox1.Text & TextBox2.TextIf RadioButton1.Checked = True ThenTextBox3.Text = TextBox3.Text & RadioButton1.TextElseIf RadioButton2.Checked = True ThenTextBox3.Text = TextBox3.Text & RadioButton2.TextEnd IfEnd Sub输入病例Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocusx = Len(TextBox1.Text)If x <> 6 ThenBeep()TextBox1.Text = ""TextBox1.Focus()TextBox3.Clear()TextBox3.Text = "病?历え?号?为a6位?数簓字?"ElseTextBox3.Clear()Button1.Enabled = TrueEnd IfEnd SubPrivate Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChangedEnd SubPrivate Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ShownEnd SubEnd ClassPublic Class Form1图书馆借书Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickListBox1.Items.Add(ComboBox1.Text)End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickIf ListBox1.SelectedIndex = -1 ThenMsgBox("请?选?择?要癮删?除y的?书酣?")Exit SubEnd IfListBox1.Items.RemoveAt(ListBox1.SelectedIndex)End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickListBox1.Items.Clear()End SubPrivate Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim num As Integernum = ListBox1.Items.CountFor i = 0 To num - 1If ListBox1.Items(i) = "内ú科?学§"Or ListBox1.Items(i) = "外猘科?学§"Then MsgBox("您ú已?经-借è阅?了?一?本?期ú刊ˉ,不?能ü再ù借è阅?期ú刊ˉ!")Exit SubEnd IfNext iIf RadioButton1.Checked = True ThenListBox1.Items.Add("内ú科?学§")ElseIf RadioButton2.Checked = True ThenListBox1.Items.Add("外猘科?学§")End IfEnd SubEnd Class开病方Public Class Form1Dim Var As String, Hx As Integer, Vx As IntegerPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickVar$ = ComboBox1.Text + ComboBox2.Text + ComboBox3.Text + ComboBox4.Text Select Case Var$Case Is = "?轻á度è38度è干é咳è"TextBox1.Text = "咽ê炎×"Case Is = "化ˉ脓§中D度è39度è早?起e咳è"TextBox1.Text = "?体?发ぁ?炎×"Case Is = "化ˉ脓§重?度è40?TextBox1.Text = "肺?炎×"Case ElseTextBox1.Text = "重?选?"End SelectEnd SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickMe.Close()End SubPrivate Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClickListBox2.Items.Add(ListBox1.Text)End SubPrivate Sub ListBox2_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox2.DoubleClick'首骸?先è判D断??框ò中D的?项?是?否?大洙??If (ListBox2.Items.Count > 0) Then'移?出?选?择?的?项?()'ListBox2.Items.Remove(ListBox2.SelectedItem)ListBox2.Items.RemoveAt(ListBox2.SelectedIndex)End IfEnd SubEnd ClassPublic Class Form1选图Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadComboBox1.Items.Add("一?")ComboBox1.Items.Add("二t")ComboBox1.Items.Add("三▂")ComboBox1.Items.Add("四?")ComboBox1.SelectedIndex = 0End SubPrivate Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChangedSelect Case ComboBox1.SelectedIndexCase 0'PictureBox1.Load("xiamen1.jpg")PictureBox1.Image = My.Resources.xiamen1Case 1'PictureBox1.Load("xiamen2.jpg")PictureBox1.Image = My.Resources.xiamen2Case 2'PictureBox1.Load("xiamen3.jpg")PictureBox1.Image = My.Resources.xiamen3Case 3'PictureBox1.Load("xiamen4.jpg")PictureBox1.Image = My.Resources.xiamen4End SelectEnd SubEnd ClassPublic Class Form1计算正弦和余弦Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadTextBox1.Text = ""'初?始?化ˉ输?入?文?本?框òLabel2.Text = ""'初?始?化ˉ输?出?标括?签?框òEnd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim a, b As DoubleDim c As String'定¨义?一?个?可é存?放?部?分?输?出?结á果?的?字?符?串?变?量?c = ""If TextBox1.Text = ""ThenTextBox1.Focus() '如?果?没?有瓺输?入?任?何?时骸?间?,则ò强?制?返う?回?文?本?框ò等台?待鋣输?入?MsgBox("请?输?入?计?算?数簓据Y") '?示?用?户§输?入?时骸?间?Exit Sub'控?制?如?果?没?有瓺输?入?时骸?间?,不?进?行D下?面?的?计?算?,直±接ó结á束?“°计?算?”±按恪?钮¥的?Click事?件t过y程ìEnd IfIf RadioButton4.Checked = True Thenb = Val(TextBox1.Text) * Math.PI / 180 '判D断?是?否?输?入?角?度è?若?是?,进?行D弧?度è转羇换?,否?则ò不?转羇换?ElseIf RadioButton5.Checked = True Thenb = Val(TextBox1.Text)End If'判D断?进?行D何?种?计?算?,并¢进?入?对?应畖的?计?算?If RadioButton1.Checked = True Thena = Math.Sin(b)c = "Sin(" & TextBox1.Text & ")="'将?显?示?何?种?计?算?的?内ú容╕转羇换?为a字?符?串?ElseIf RadioButton2.Checked = True Thena = Math.Cos(b)c = "Cos(" & TextBox1.Text & ")="'将?显?示?何?种?计?算?的?内ú容╕转羇换?为a字?符?串?ElseIf RadioButton3.Checked = True Thena = Math.Tan(b)c = "Tan(" & TextBox1.Text & ")="'将?显?示?何?种?计?算?的?内ú容╕转羇换?为a字?符?串?End Ifa = Math.Round(a, 6) '结á果?四?舍Θ?五?入?a = Format(a, "0.000000") '保馈?证¤纯?小?数簓输?出?前°面?有瓺"0."符?号?显?示?,注痢?意癮a是?变?体?变?量?Label2.Text = c & aEnd SubEnd Class让图片不断转换Public Class Form1Dim i As IntegerPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTimer1.Enabled = Truei = 0End SubPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.TickIf i = 0 ThenPictureBox1.Image = PictureBox2.Imagei = 1ElsePictureBox1.Image = PictureBox3.Imagei = 0End IfIf Label1.Left < 0 ThenLabel1.Left = Me.WidthElseLabel1.Left = Label1.Left - 30End IfEnd SubEnd Class选图调控比例Public Class Form1Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadButton4.Enabled = FalseButton2.Enabled = FalseButton3.Enabled = FalseButton1.Image = My.Resources.CRDFLE12Button2.Image = My.Resources.EYEButton3.Image = My.Resources.ARW09RTButton4.Image = My.Resources.KEY06End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickPictureBox1.SizeMode = PictureBoxSizeMode.ZoomPictureBox1.Image = My.Resources.R1Button4.Enabled = TrueButton2.Enabled = TrueButton3.Enabled = TrueEnd SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickForm2.PictureBox1.Image = My.Resources.R1Form2.Show()End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button3.ClickPictureBox3.Image = PictureBox1.ImagePictureBox3.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)End SubPrivate Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim x As Integerx = Val(InputBox("设Θ?置?缩?小?比括?x="))PictureBox2.SizeMode = PictureBoxSizeMode.CenterImagePictureBox2.Image = PictureBox1.ImagePictureBox3.SizeMode = PictureBoxSizeMode.StretchImagePictureBox3.Height = PictureBox1.Image.Height / xPictureBox3.Width = PictureBox1.Image.Width / xPictureBox3.Image = PictureBox1.ImageEnd SubEnd Class。

用VB编写程序实例

用VB编写程序实例

vb程序实例(一)创建vb应用程序是很简单的事。

有多简单?为回答这个问题,试着创建下面的Hello ,vb和Firstapp 应用程序。

你好,Visual Basic创建vb应用程序有三个主要步骤:1. 创建应用程序界面2. 设置属性3. 编写代码为了说明这一实现过程,按照以下步骤创建一个简单应用程序,该应用程序由一个文本框和一个命令按钮组成。

单击命令按钮,文本框中会出现"Hello , world!" 消息。

创建应用程序界面窗体是创建应用程序的基础。

通过使用窗体可将窗口和对话框添加到应用程序中。

也可把窗体作为项的容器,这些项是应用程序界面中的不可视部分。

例如,应用程序中可能有一个作为图形容器的窗体,而这些图形是打算在其它窗体中显示的。

建造vb应用程序的第一步是创建窗体,这些窗体将是应用程序界面的基础。

然后在创建的窗体上绘制构成界面的对象。

对于目前的第一个应用程序,你可使用工具箱中的两个控件。

用工具箱绘制控件1. 单击要绘制的控件的工具——此时是“文本框”。

2. 将指针移到窗体上。

该指针变成十字线,如图2.3 所示。

3. 将十字线放在控件的左上角所在处。

4. 拖动十字线画出适合您要的控件大小的方框(拖动的意思是按住鼠标左键用鼠标指针移动对象)。

5. 释放鼠标按钮。

控件出现在窗体上。

在窗体上添加控件的另一个简单方法是双击工具箱中的控件按钮。

这样会在窗体中央创建一个尺寸为缺省值的控件;然后再将该控件移到窗体中的其它位置。

调整大小、移动和锁定控件注意出现在控件四周的小矩形框称作尺寸句柄;下一步可用这些尺寸句柄调节控件尺寸。

也可用鼠标、键盘和菜单命令移动控件、锁定和解锁控件位置以及调节控件位置。

调整控件的尺寸,请按照以下步骤执行:1. 用鼠标单击要调整尺寸的控件。

选定的控件上出现尺寸句柄。

2. 将鼠标指针定位到尺寸柄上,拖动该尺寸柄直到控件达到所希望的大小为止。

角上的尺寸柄可以调整控件水平和垂直方向的大小,而边上的尺寸柄调整控件一个方向的大小。

VB编程标准例子

VB编程标准例子

1.求累计应收款代码:截图:Option ExplicitDim ysk!Private Sub Command1_Click()Dim dj!, sl%dj = Val(Text1.Text)sl = Val(Text2.Text)ysk = ysk + dj * slText3.Text = yskText1.Text = 0Text2.Text = 0End SubPrivate Sub Command2_Click()Text1.Text = 0Text2.Text = 0Text3.Text = 0End SubPrivate Sub Command3_Click()EndEnd Sub2. 求一个数的平方数代码:截图:Private Sub Command1_Click()Dim srs!srs = Val(Text1.Text)pfs = Val(Text2.Text)pfs = srs ^ 2Text2.Text = pfsEnd SubPrivate Sub Command2_Click()EndEnd Sub3.打印1~100两个随机数以及和Private Sub Form_click()Dim a%, b%, c%a = Int(100 * Rnd + 1)b = Int(100 * Rnd + 1)c = a + bPrint "两个随机数:"; a, bPrint "和", cEnd Sub4.双击输入一个二位数,打印其反过来的数。

Private Sub Form_DblClick()x = InputBox("请输入一个二位数")a = Left(x, 1)b = Right(x, 1)c = b & aPrint "生成后的结果"; cEnd Sub5.点击form后输入***,打印***,并让命令空间不可见同时再打印***。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 00-08:VBE 编辑器窗口(带有用户窗体) 在 VBE 编辑器中输入 VBA 代码
6
如前所述,您可以选择 VBE 菜单“插入——用户窗体/模块/类模块”来插入模块或 用户窗体以及相应的代码窗口。此外,您也可以在“工程资源管理器”中单击鼠标 右键,从弹出的菜单中选择“插入——用户窗体/模块/类模块”来实现上面的操作。 在获取相应的代码模块窗口后,就可以输入 VBA 代码了。 在 VBE 编辑器的代码模块中输入 VBA 代码,通常有以下几种方法: ■ 手工键盘输入; ■ 使用宏录制器,即选择菜单“工具——宏——录制新宏”命令,将所进行的操作 自动录制成宏代码; ■ 复制/粘贴代码,即将现有的代码复制后,粘贴到相应的代码模块中; ■ 导入代码模块,即在 VBE 编辑器中选择菜单“文件——导入文件”或在“工程资 源管理器”的任一对象上右击鼠标选择菜单“导入文件”,选择相应的代码文件导入。 如果不想要某个模块了,可以选择菜单“文件——移除模块”,也可以在相应的模 块上单击鼠标右键,从弹出的菜单中选择“移除模块”。此时,会弹出一个警告框, 询问在移除模块前是否将其导出,可以根据需要进行选择。 也可以选择菜单“文件——导出文件”或在相应的模块上单击鼠标右键后,从弹出 的菜单中选择“导出文件”,将移除的模块保存在相应的文件夹中。这样,以后可 以对其进行导入,从而加以利用。 调试 VBA 代码 在 VBE 编辑器的菜单中,有两项与调试运行有关的菜单项,即“调试”菜单和“运 行”菜单,它们提供了各种调试和运行的手段。在我现阶段进行代码调试时,常 用到的有以下几个: ■ 逐语句。可以按 F8 键对代码按顺序一条一条语句运行,从而找出语句或逻辑 错误。 ■ 设置断点。在可能存在问题的语句处设置断点(可通过在相应代码前的空白部 位单击,将会出现一个深红色的椭圆即断点),当程序运行至断点处时,会中止 运行。 ■ 在语句的适当部位设置 Debug.Print 语句,运行后其结果会显示在“立即窗口” 中,可以此测试或跟踪变量的值。 ■ 在“立即窗口”中测试。对值的测试或跟踪,也可以以“?”开头,在“立即窗口” 中输入需要测试值的语句,按 Enter 回车键后将立即出现结果;对执行语句的测 试,可直接在“立即窗口”中输入,按 Enter 回车键后将执行。 ■ 可以按 F5 键直接运行光标所在位置的子程序。 在执行程序后,必须在 Excel 工作表中查看所得到的结果。可以用鼠标单击 VB E 编辑器左上角的 Excel 图标或者是按 Alt+F11 组合键切换到 Excel 界面。 (当然,对程序代码的调试有很多方法和技巧,留待以后对 VBA 进一步研究和理 解更透彻后一并讨论。) 利用 VBA 帮助系统 如果遇到疑问或错误,可以利用 Excel 自带的 VBA 帮助系统。 ■ 可以在如图 00-09 所示的部位输入需要帮助的关键词,按 Enter 回车键后将会 出现相关主题。用鼠标单击相应的主题即会出现详细的帮助信息。
目录
键入章标题(第 1 级)1 键入章标题(第 2 级)2 键入章标题(第 3 级)3
键入章标题(第 1 级)4 键入章标题(第 2 级)5 键入章标题(第 3 级)6
01-01:体验开/关屏幕更新(ScreenUpdating 属性)
9
Sub 关闭屏幕更新() MsgBox "顺序切换工作表 Sheet1→Sheet2→Sheet3→Sheet2,先开启屏幕
2
图 00-03:右击工作表标签弹出菜单并选择“查看代码”打开 VBE 编辑器
图 00-04:右击 Excel 图标弹出菜单并选择“查看代码”打开 VBE 编辑器
图 00-05:在宏对话框中单击“编辑”按钮打开 VBE 编辑器 VBE 编辑器窗口简介 刚打开 VBE 编辑器时,所显示的窗口如图 00-06 所示,其中没有代码模块窗口。
图 00-09:帮助搜索窗口
■ 可以按 F2 键,调出“对象浏览器”窗口(如图 00-10 所示),在搜索文本框中输 入需要帮助的关键词,将会在“搜索结果”中出现一系列相关的对象及方法、属性
7
列表,单击相应的对象则会在“类”和“成员”列表框中显示相应的对象和方法、属 性成员列表,在成员列表中相应的项目上按 F1 键即会出现详细的帮助信息。(“对 象浏览器”是一个很好的帮助工具,值得好好研究)
第一章 Excel 应用程序对象(ApplicationBA>>ExcelVBA 编程入门范例
Application 对象代表整个 Microsoft Excel 应用程序,带有 175 个属性和 52 个 方法,可以设置整个应用程序的环境或配置应用程序。
4
图 00-07:VBE 编辑器窗口 下面是带有用户窗体的 VBE 编辑器窗口,如图 00-08 所示。选择 VBE 菜单“插 入——用户窗体”,即可插入一个用户窗体。当插入用户窗体后,在“工程资源管
5
理器”窗口中会出现一个用户窗体对象,“工程属性”窗口显示当前用户窗体的属性, 可对相关属性进行设置或修改。同时,在用户窗体上用鼠标单击,会出现“控件 工具箱”。在“工程资源管理器”窗口双击用户窗体图标,会出现相应的用户窗体; 在用户窗体图标或者是在用户窗体上单击鼠标右键,然后在弹出的菜单中选择 “查看代码”,则会出现用户窗体代码窗口。
End Sub 说明:ScreenUpdating 属性用来控制屏幕更新。当运行一个宏程序处理涉及到 多个工作表或单元格中的大量数据时,若没有关闭屏幕更新,则会占用 CPU 的 处理时间,从而降低程序的运行速度,而关闭该属性则可显著提高程序运行速度。
01-02:使用状态栏(StatusBar 属性)
3
图 00-06:刚打开 VBE 编辑器时的窗口 可以在“工程资源管理器”中双击任一对象打开代码窗口,或者选择菜单“插入—— 模块”或“插入——类模块”来打开代码窗口。一般 VBE 编辑器窗口及各组成部件 名称如图 00-07 所示,可以通过“视图”菜单中的菜单项选择所出现的窗口。同时, 可以在“工程属性”窗口中设置或修改相应对象的属性。
更新,然后关闭屏幕更新" Worksheets(1).Select MsgBox "目前屏幕中显示工作表 Sheet1" Application.ScreenUpdating = True Worksheets(2).Select MsgBox "显示 Sheet2 了吗?" Worksheets(3).Select MsgBox "显示 Sheet3 了吗?" Worksheets(2).Select MsgBox "下面与前面执行的程序代码相同,但关闭屏幕更新功能" Worksheets(1).Select MsgBox "目前屏幕中显示工作表 Sheet1" & Chr(10) & "关屏屏幕更新功能" Application.ScreenUpdating = False Worksheets(2).Select MsgBox "显示 Sheet2 了吗?" Worksheets(3).Select MsgBox "显示 Sheet3 了吗?" Worksheets(2).Select Application.ScreenUpdating = True
图 00-10:对象浏览器窗口 参考资料 《ExcelVBA 编程入门范例》参考或引用了以下书籍和资料: (1)Excel 2003 高级 VBA 编程宝典
8
(2)Excel 2003 与 VBA 编程从入门到精通(中文版) (3)巧学巧用 Excel 2003 VBA 与宏(中文版) (4)ExcelVBA 应用程序专业设计实用指南 (5)ExcelVBA 应用开发与实例精讲 (6)一些网上资源 更多的信息 关于 ExcelVBA 的更多参考和学习资源,可以在 上查找, 有疑问也可以在 ExcelHome 论坛中提问。您也可以登录我的博客 http://fanjy.bl ,上面有很多 Excel 的学习资料。同时,欢迎与我联系交流, 我的 e-mail 是:xhdsxfjy@。 “学习 Excel,使用 VBA 对 Excel 进行控制操作是我很热衷的业余爱好之一。” ——fanjy
ExcelVBA 编程实例(150 例)
主要内容和特点 《ExcelVBA 编程入门范例》主要是以一些基础而简短的 VBA 实例来对 ExcelV BA 中的常用对象及其属性和方法进行讲解,包括应用程序对象、窗口、工作簿、 工作表、单元格和单元格区域、图表、数据透视表、形状、控件、菜单和工具栏、 帮助助手、格式化操作、文件操作、以及常用方法和函数及技巧等方面的应用。 这些例子都比较基础,很容易理解,因而,很容易调试并得以实现,让您通过具 体的实例来熟悉 ExcelVBA 编程。 ■ 分 16 章共 14 个专题,以具体实例来对大多数常用的 ExcelVBA 对象进行讲 解; ■ 一般而言,每个实例都很简短,用来说明使用 VBA 实现 Excel 某一功能的操 作; ■ 各章内容主要是实例,即 VBA 代码,配以简短的说明,有些例子可能配以必 要的图片,以便于理解; ■ 您可以对这些实例进行扩充或组合,以实现您想要的功能或更复杂的操作。 VBE 编辑器及 VBA 代码输入和调试的基本知识 在学习这些实例的过程中,最好自已动手将它们输入到 VBE 编辑器中调试运行, 来查看它们的结果。当然,您可以偷赖,将它们复制/粘贴到代码编辑窗口后, 进行调试运行。下面,对 VBE 编辑器界面进行介绍,并对 VBA 代码输入和调试 的基本知识进行简单的讲解。 激活 VBE 编辑器 一般可以使用以下三种方式来打开 VBE 编辑器: ■ 使用工作表菜单“工具——宏——Visual Basic 编辑器”命令,如图 00-01 所示; ■ 在 Visual Basic 工具栏上,按“Visual Basic 编辑器”按钮,如图 00-02 所示; ■ 按 Alt+F11 组合键。
相关文档
最新文档