常用对象和方法
Application对象
1. Application.ScreenUpdating 属性
如果启用屏幕更新,则该属性值为 True。Boolean 类型,可读写。 关闭屏幕更新可加快宏的执行速度。这样将看不到宏的执行过程,但宏的执行速度加快了。 当宏结束运行后,请记住将 ScreenUpdating 属性设置回 True。
2. Application.FileDialog 属性
返回一个 FileDialog 对象,该对象表示文件对话框的实例
TypeName 函数
返回一个 String,提供有关变量的信息。
TypeName(varname),必要的 varname 参数是一个 Variant,它包含用户定义类型变量之外的任何变量。
Application.Volatile 方法
用于将用户自定义函数标记为易失性函数,无论何时在工作表的任意单元格中进行计算时,易失性函数都必须重新进行计算。非易失性函数只在输入变量改变时才重新计算,若不用于计算工作表单元格的用户自定义函数中,则此方法无效。
记录
- GetObject获取的表格对象是多应用模式。workbooks.open则是单应用,多应用存在跨应用调用问题。GetObject相当于存在了两个Application,而workbooks.open还是一个。
- unprotect解除工作表保护,protect 保护工作表,同样适用于工作簿。
- range对象的offset属性能整体偏移选择其它范围,并返回它的range对象。
VB中数组维度的问题
- Ubound(array,dimenssion),获取指定数组的指定维度的维数上限。
- Lbound(array,dimenssion),获取指定数组的指定维度的维数下限。
Application.DisplayAlerts函数
Application.DisplayAlerts = False,禁用OFFICE出错时的错误提示。
WorksheetFunction 对象
用作可从 Visual Basic 中调用的 Microsoft Excel 工作表函数的容器。
代码语言:javascript复制Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
VBA中常用的COM对象
- scripting.dictionary,字典对象。
- wscript.shell,激活指定窗口,发送按键指令,运行程序,弹出提醒框等等。
- scripting.filesystemobject,文件系统的对象。
- shell.application,操作窗口排列等等
- Internet.application ,IE浏览器
- VBScript.RegExp,正则对象
- MSXML2.XmlHttp,用于HTTP获取数据(GET、POST)
- WinHttp.WinHttpRequest.5.1,用于HTTP获取数据(GET、POST)
踩坑
- 模块中的变量需要用public标志,才能在表格对象中使用。
Application.CutCopyMode
Application.CutCopyMode = False,清除复制和剪切的状态
Application.onkey 和 sendKey
发送键盘按键信息,以及指定按键触发的时候执行指定的操作。
Application.onTime/onRepeat/onUndo/onKey
到达指定时间、撤销、重做、按下指定按键时触发执行指定的操作,可以递归调用自身,实现类似Timer的功能。
Excel 控制word的时候,要注意
- 录制的宏里的常量是word环境下的,在Excel里要适配一下。
表格插入控件
可插入的控件分为表单控件和activex控件。表单控件只能通过shapes对象去获取,activex对象可以直接操作。
代码语言:javascript复制Set a = ActiveDocument.GoTo(What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2)
a.Delete
VB笔记
1.CommonDialog
CommonDialog1.ShowOpen打开对话框
参考:https://www.jb51.net/softjc/684049.html