VBProject代码操作代码之常用语句

合集下载

VBA编程常用语句300句

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编程代码大全。

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编程代码大全

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编程常用代码大全

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编程中的常用代码

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编程常用代码大全讲解学习

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编程中的常用代码

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常用程序代码

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编程常用代码大全

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短句(带注释)

常用的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常用代码操作

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)

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编程常用代码大全

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编程代码大全

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:代码操作代码之常用语句

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编程常用代码大全

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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%

相关文档
最新文档