VBProject代码操作代码之常用语句
VBA编程常用语句300句
**************
* VBA 语句集 *
* (第 1 辑) *
**************
****************
* 定制模块行为 *
****************
(1) Option Explicit '强制对模块内所有变量进行声明
Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示
Option Compare Text '字符串不区分大小写
Option Base 1 '指定数组的第一个下标为 1
(2) On Error Resume Next '忽略错误继续执行 VBA代码,避免出现错误消息
(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置
(4) On Error GoTo 0 '恢复正常的错误提示
(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示
(6) Application.ScreenUpdating=False '关闭屏幕刷新
Application.ScreenUpdating=True '打开屏幕刷新
(7) Application.Enable.CancelKey=xlDisabled '禁用 Ctrl+Break 中止宏运行的功能
**********
* 工作簿 *
**********
(8) Workbooks.Add() '创建一个新的工作簿
(9) Workbooks("book1.xls").Activate '激活名为 book1的工作簿
vba编程代码大全
vba编程代码大全
VBA编程代码大全。
VBA是Visual Basic for Applications的缩写,是一种用于Microsoft Office应用程序的编程语言。通过VBA,用户可以编写自定义的宏和程序,以实现自动化操作和定制功能。VBA编程在Excel、Word、PowerPoint等Office应用中都有广泛的应用,可以大大提高工作效率和数据处理的灵活性。本文将为大家详细介绍VBA 编程中常用的代码,帮助大家更好地掌握VBA编程技能。
一、基本操作。
1. 打开VBA编辑器。
在Office应用程序中,按下Alt + F11快捷键即可打开VBA编辑器。在VBA 编辑器中,可以编写和管理VBA代码。
2. 编写子程序。
使用Sub关键字定义一个子程序,然后在其中编写具体的VBA代码。例如:Sub HelloWorld()。
MsgBox "Hello, World!"
End Sub。
3. 运行宏。
在VBA编辑器中,可以直接运行编写好的宏程序。也可以在Office应用程序中,通过快捷键或菜单来运行宏。
二、常用代码。
1. 操作单元格。
在Excel中,可以使用VBA来操作单元格,例如:
Range("A1").Value = 100。
Range("A1").Interior.Color = RGB(255, 0, 0)。
2. 循环结构。
使用VBA可以编写各种类型的循环结构,例如For循环、Do While循环等,来实现对数据的遍历和处理。
3. 条件判断。
VBA中的If语句可以用来进行条件判断,根据不同的条件执行不同的操作,例如:
vb编程代码大全
vb编程代码大全
Visual Basic (VB) 是一种广泛用于软件开发的高级编程语言,可以用于开发 Windows 应用程序、Web 应用程序、数据库应用程序等。在本文中,将介绍一些常用的 VB 编程代码,帮助初学者快速入门和提高编程水平。
一、基本数据类型
1. 整型数据
在 VB 中,整型数据可以使用 Integer 类型表示,范围为 -32,768 到32,767。定义整型变量的代码如下:
```
Dim num As Integer
num = 10
```
2. 浮点数据
浮点数据可以使用 Single 或 Double 类型表示,分别表示单精度浮点数和双精度浮点数。定义浮点变量的代码如下:
```
Dim num As Single
num = 3.14
3. 字符串数据
字符串数据可以使用 String 类型表示,可以存储文本数据。定义字符串变量的代码如下:
```
Dim str As String
str = "Hello, World!"
```
二、控制流程
1. If...Then...Else 语句
If...Then...Else 语句用于根据条件执行不同的代码块。例如:
```
Dim num As Integer
num = 10
If num > 0 Then
MsgBox("Num is positive.")
Else
MsgBox("Num is negative.")
End If
2. For 循环
For 循环用于重复执行一段代码。例如:
```
For i = 1 To 10
MsgBox(i)
VB编程常用代码大全
VB编程常用代码大全
1.数值型函数:
abs(num): 返回绝对值
sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
hex(num): 返回十六进制值直接表示:&Hxx 最大8位
oct(num): 返回八进制值直接表示:&Oxx 最大8位
sqr(num): 返回平方根num>0
int(num): 取整int(99.8)=99; int(-99.2)=100
fix(num): 取整fix(99.8)=99; fix(-99.2)=99
round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.2
log(num): 取以e为底的对数num>0
exp(n): 取e的n次幂通常用num^n
sin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num);
tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
VBA编程中的常用代码
VBA编程中的常用代码
Excel与VBA编程中的常用代码用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的!
使用Dim语句
Dim a as integer ' 声明A为整形变量
Dim a '声明A为变体变量
Dim a as string ' 声明A为字符串变量
Dim a,b,c as currency ' 声明A,b,c 为货币变量
声明变量可以是:Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal (当前不支持)、
Date、String (只限变长字符串)、
String * length (定长字符串)、Object、Variant、用户定义类型或对象类型。
强制声明变量
Op tion Ex plicit
,说明:该语句必在任何过程之前出现在模块中。
声明常数,用来代替文字值。
Const
'常数的默认状态是Private
Const My = 456
声明P ublic 常数。
Public Const MyString = "HEL P"
声明P rivate Integer 常数。
Private Const MyInt As Integer = 5
在同一行里声明多个常数。
Const MyStr = "Hello", MyDouble As Double = 3.4567
在EXCEL97中,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。
VB编程常用代码大全讲解学习
V B编程常用代码大全
VB编程常用代码大全
1.数值型函数:
abs(num): 返回绝对值
sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
hex(num): 返回十六进制值直接表示:&Hxx 最大8位
oct(num): 返回八进制值直接表示:&Oxx 最大8位
sqr(num): 返回平方根 num>0
int(num): 取整 int(99.8)=99; int(-99.2)=100
fix(num): 取整 fix(99.8)=99; fix(-99.2)=99
round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num): 取以e为底的对数 num>0
exp(n): 取e的n次幂通常用 num^n
sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
VBA编程中的常用代码
Excel与VBA编程中的常用代码用过VB的人都应该知道如何声明变量,在VBA中声明变量和VB中是完全一样的!
使用Dim语句
Dim a as integer ' 声明A为整形变量
Dim a '声明A为变体变量
Dim a as string ' 声明A为字符串变量
Dim a,b,c as currency ' 声明A,b,c 为货币变量
声明变量可以是:Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal (当前不支持)、
Date、String (只限变长字符串)、
String * length (定长字符串)、Object、Variant、用户定义类型或对象类型。
强制声明变量
Op tion Ex plicit
,说明:该语句必在任何过程之前出现在模块中。
声明常数,用来代替文字值。
Const
'常数的默认状态是Private
Const My = 456
声明P ublic 常数。
Public Const MyString = "HEL P"
声明P rivate Integer 常数。
Private Const MyInt As Integer = 5
在同一行里声明多个常数。
Const MyStr = "Hello", MyDouble As Double = 3.4567
在EXCEL97中,有一个十分好的功能,他就是把鼠标放置在一个有效数据单元格中,执行该段代码,你就可以将连在一起的一片数据全部选中。只要将该段代码加入到你的模块中。
vb常用程序代码
1、求半径为r的圆的面积,要求用户从键盘输入半r。
程序代码:
Private Sub Form_click()
Const PI = 3.14
Dim r%
Dim s!
r = InputBox("请输入半径r的值:", "求圆的面积") s = PI * r * r
Form1.FontSize = 16
Print "半径是" + Str(r) + "的圆的面积是" + Str(s) End Sub
2、输入三个整数,从小到大顺序输出。
程序代码:
Private Sub Form_click()
a = InputBox("a")
b = InputBox("b")
c = InputBox("c")
Print "排序前:"; a, b, c
If a > b Then t = a: a = b: b = t
If a > c Then t = a: a = c: c = t
If b > c Then t = b: b = c: c = t
Print "排序后:"; a, b, c
End Sub
3、输入三个整数,从大到小顺序输出。
程序代码:
Private Sub Form_click()
a = InputBox("a")
b = InputBox("b")
c = InputBox("c")
Print "排序前:"; a, b, c
If a <b Then t = a: a = b: b = t
If a < c Then t = a: a = c: c = t
If b < c Then t = b: b = c: c = t
VB编程常用代码大全(精品)
VB编程常用代码大全(精品)
VB编程常用代码大全
VB编程常用代码大全
1.数值型函数:
abs(num):返回绝对值
sgn(num): num>01; num=0 0; num<0 -1;判断数值正负hex(num):返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0
int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num): 取以e为底的对数 num>0
exp(n): 取e的n次幂通常用 num^n
sin(num): 三角函数,以弧度为值计算 (角度*Pai)/18
0=弧度 con(num); tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串Lcase(st r):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
(代码)常用的VBA短句(带注释)
常用的VBA短句(带注释)
[A65536].End(xlUp).Row 'A列末行向上第一个有值的行数
[A1].End(xlDown).Row 'A列首行向下第一个有值之行数
[IV1].End(xlToLeft).Column '第一行末列向左第一列有数值之列数。
[A1].End(xlToRight).Column '第一行首列向右有连续值的末列之列数
mandBars("Standard").Controls(2).BeginGroup = True '在常用工具栏的第二个按钮前插入分隔符Cells.WrapText = False '取消自动换行
If Len(Target) > 5 Then '如果当前单元格中的字符数超过5个,执行下一行
Target.WrapText = True '自动换行
End If
[A1:B10].SpecialCells(xlCellTypeBlanks).Rows.Hidden = True '有空格即隐藏行
[A2] '返回活动单元格的工作表名
[A2] '返回活动单元格的工作簿名
勾选"VBA项目的信任"
Application.SendKeys "%(tmstv){ENTER}" '在Excel 窗口操作
Application.SendKeys "%(qtmstv){ENTER}" '在VBE 窗口操作
mandBars("命令按钮名称").Position = msoBarFloating '使[命令按钮]悬浮在表格中mandBars("命令按钮名称").Position = msoBarTop '使[命令按钮]排列在工具栏中ActiveSheet.Protect Password:="wshzw" '为工作表保护加口令
VBProject常用代码操作
VBProject常用代码操作一、增加模块 1.增加一个模块,命名为“我的模块” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块" 系统常量vbext_ct_StdModule=1 2.增加一个类模块,命名为“我的类” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类" vbext_ct_ClassModule=2 3.增加一个窗体,命名为“我的窗体” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体" vbext_ct_MSForm=3 二、删除模块 1.删除“模块1”ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("模块1") 2.删除窗体“UserForm1”ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("UserForm1") 3.删除类模块“类1”ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1") 4.删除所有的窗体 Sub RmvForms() Dim vbCmp As VBComponent For Each vbCmp In ThisWorkbook.VBProject.VBComponents If vbCmp.Type = vbext_ct_MSForm Then ThisWorkbook.VBProject.VBComponents.Remove vbCmp Next vbCmp End Sub 相关: 工作表和ThisWorkbook的模块类型为vbext_ct_Document=100 三、增加代码 1.在“模块1”中插入代码 如果需要在“Sheet1”、“Thisworkbook”、或“Userform1”中操作,用只需将下面的“模块1”换成相应的名称即可。 方法1: 在模块的开始增加代码,增加的代码放在公共声明option,全局变量等后面。 Sub AddCode1() ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.AddFromString _ "sub aTest()" & Chr(10) & _ "msgbox ""Hello""" & Chr(10) & _ "end sub" End Sub 方法2: 在模块指定行处增加代码,原代码后移。增加代码不理会和判断插入处代码的内容。当指定行大于最后一行行号时,在最后一行的后面插入。 Sub AddCode2() With ThisWorkbook.VBProject.VBComponents("模块1").CodeModule .InsertLines 1, "sub aTest()" .InsertLines 2, "msgbox ""Hello""" .InsertLines 3, "end sub" End With End Sub 相关语句: (1)“模块1”中代码总行数: ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.CountOfLines (2)“模块1”中代码公共声明部分的行数: ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.CountOfDeclarationLines (3)显示“模块1”中第1行起的3行代码内容: Sub ShowCodes() Dim s$ s = ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.Lines(1, 3) Debug.Print s End Sub (4)过程aTest的起始行数: ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.ProcBodyLine("aTest", vbext_pk_Proc) ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.ProcStartLine("aTest", 0) 系统常量vbext_pk_Proc=0 二者的区别是ProcBodyLine返回sub aTest或Function aTest所在的
VBA编程中的常用代码(1)
****************
* 定制模块行为 *
****************
Option Explicit '强制对模块内所有变量进行声明
Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示
Option Compare Text '字符串不区分大小写
Option Base 1 '指定数组的第一个下标为 1
On Error Resume Next '忽略错误继续执行 VBA代码,避免出现错误消息
On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置
On Error GoTo 0 '恢复正常的错误提示
Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示Application.ScreenUpdating=False '关闭屏幕刷新
Application.ScreenUpdating=True '打开屏幕刷新
Application.Enable.CancelKey=xlDisabled '禁用 Ctrl+Break 中止宏运行的功能
Err.Clear '清除程序运行过程中所有的错误
**********
* 工作簿 *
**********
Workbooks.Add() '创建一个新的工作簿
Workbooks("book1.xls").Activate '激活名为 book1的工作簿ThisWorkbook.Save '保存工作簿
ThisWorkbook.close '关闭当前工作簿
VB编程常用代码大全(精品)
VB编程常用代码大全
VB编程常用代码大全
1.数值型函数:
abs(num):返回绝对值
sgn(num): num>01; num=0 0; num<0 -1;判断数值正负
hex(num):返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0
int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num): 取以e为底的对数 num>0
exp(n): 取e的n次幂通常用 num^n
sin(num): 三角函数,以弧度为值计算 (角度*Pai)/18
0=弧度 con(num); tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
vb编程代码大全
vb编程代码大全
VB(Visual Basic)是一种易于学习和使用的编程语言,广泛应用
于Windows平台的软件开发。VB编程通过编写和执行代码来实现任务,可以用于创建各种类型的应用程序,包括窗体应用程序、控制台
应用程序、Web应用程序等。本文将介绍一些常用的VB编程代码,
帮助读者快速入门和掌握VB编程技巧。
一、VB基本语法
在开始编写VB代码之前,我们先来了解一些基本的VB语法规则。
1. 注释
VB中的注释用于解释代码的作用,不会被编译器执行。注释可以
是单行注释(以“'”开头)或多行注释(以“/*”开始,“*/”结束)。
示例:
' 这是一个单行注释
/*
这是一个多行注释
可以跨越多行
*/
2. 变量声明
在VB中,变量需要先声明后使用。变量的声明可以包括数据类型和变量名称。
示例:
Dim x As Integer '声明一个整型变量x
3. 变量赋值
在VB中,可以使用赋值语句将一个值赋给变量。
示例:
x = 10 '将变量x赋值为10
4. 运算符
VB支持常见的运算符,包括算术运算符、比较运算符和逻辑运算符等。
示例:
Dim a As Integer, b As Integer
a = 10
b = 5
Dim c As Integer
c = a + b '加法运算
c = a - b '减法运算
c = a * b '乘法运算
c = a / b '除法运算
c = a Mo
d b '取余运算
c = a > b '比较运算
c = (a > 0) An
d (b > 0) '逻辑运算
5. 控制结构
VB中的控制结构包括条件语句和循环语句。条件语句通过判断条件来选择不同的执行路径。循环语句可以重复执行一段代码。
VBProject:代码操作代码之常用语句
VBProject:代码操作代码之常用语句
一、增加模块
1.增加一个模块,命名为“我的模块”
ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块"
系统常量vbext_ct_StdModule=1
2.增加一个类模块,命名为“我的类”
ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类"
vbext_ct_ClassModule=2
3.增加一个窗体,命名为“我的窗体”
ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体"
vbext_ct_MSForm=3
二、删除模块
1.删除“模块1”
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("模块1")
2.删除窗体“UserForm1”
ThisWorkbook.VBProject.VBComponents.Remove
ThisWorkbook.VBProject.VBComponents("UserForm1")
3.删除类模块“类1”
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1")
VB编程常用代码大全
VB编程常用代码大全
1.数值型函数:
abs(num): 返回绝对值
sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
hex(num): 返回十六进制值直接表示:&Hxx 最大8位
oct(num): 返回八进制值直接表示:&Oxx 最大8位
sqr(num): 返回平方根num>0
int(num): 取整int(99.8)=99; int(-99.2)=100
fix(num): 取整fix(99.8)=99; fix(-99.2)=99
round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.2
log(num): 取以e为底的对数num>0
exp(n): 取e的n次幂通常用num^n
sin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num);
tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、增加模块
1.增加一个模块,命名为“我的模块”
ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块"
系统常量vbext_ct_StdModule=1
2.增加一个类模块,命名为“我的类”
ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类" vbext_ct_ClassModule=2
3.增加一个窗体,命名为“我的窗体”
ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体"
vbext_ct_MSForm=3
二、删除模块
1.删除“模块1”
ThisWorkbook.VBProject.VBComponents.Remove hisWorkbook.VBProject.VBComponents("模块1")
2.删除窗体“UserForm1”
ThisWorkbook.VBProject.VBComponents.Remove
ThisWorkbook.VBProject.VBComponents("UserForm1")
3.删除类模块“类1”
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1")
4.删除所有的窗体
Sub RmvForms()
Dim vbCmp As VBComponent
For Each vbCmp In ThisWorkbook.VBProject.VBComponents
If vbCmp.Type = vbext_ct_MSForm Then ThisWorkbook.VBProject.VBComponents.Remove vbCmp
Next vbCmp
End Sub
相关:
工作表和ThisWorkbook的模块类型为vbext_ct_Document=100
三、增加代码
1.在“模块1”中插入代码
如果需要在“Sheet1”、“Thisworkbook”、或“Userform1”中操作,用只需将下面的“模块1”换成相应的名称即可。
方法1:
在模块的开始增加代码,增加的代码放在公共声明option,全局变量等后面。
Sub AddCode1()
ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.AddFromString _ "sub aTest()" & Chr(10) & _
"msgbox ""Hello""" & Chr(10) & _
"end sub"
End Sub
方法2:
在模块指定行处增加代码,原代码后移。增加代码不理会和判断插入处代码的内容。当指定行大于最后一行行号时,在最后一行的后面插入。
Sub AddCode2()
With ThisWorkbook.VBProject.VBComponents("模块1").CodeModule
.InsertLines 1, "sub aTest()"
.InsertLines 2, "msgbox ""Hello"""
.InsertLines 3, "end sub"
End With
End Sub
相关语句:
(1)“模块1”中代码总行数:
ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.CountOfLines
(2)“模块1”中代码公共声明部分的行数:
ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.CountOfDeclarationLines
(3)显示“模块1”中第1行起的3行代码内容:
Sub ShowCodes()
Dim s$
s = ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.Lines(1, 3)
Debug.Print s
End Sub
(4)过程aTest的起始行数:
ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.ProcBodyLine("aTest", vbext_pk_Proc)
ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.ProcStartLine("aTest", 0)
系统常量vbext_pk_Proc=0
二者的区别是ProcBodyLine返回sub aTest或Function aTest所在的行号,如果sub前面有空行,ProcStartLine返回空行的行号。
(5)过程aTest的总行数:
ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.ProcCountLines("aTest", vbext_pk_Proc)
2.建立事件过程
建立事件过程除了使用上面的代码如下面的AddEventsCode1外,还可以使用CreateEventProc方法,如AddEventsCode2所示。
一般方法:
Sub AddEventsCode1()
ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule.AddFromString _ "Private Sub Workbook_Open()" & Chr(13) & _
"MsgBox ""Hello""" & Chr(13) & _
"End Sub"
End Sub
CreateEventProc方法:
Sub AddEventsCode2()
Dim i%