vba代码如何创建代码
如题vba代码如何创建代码在vba中创建新的vba函数
[解决办法]
Run 方法
请参阅 应用于 示例 特性
运行 Visual Basic 宏
expression.Run(MacroName, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15, varg16, varg17, varg18, varg19, varg20, varg21, varg22, varg23, varg24, varg25, varg26, varg27, varg28, varg29, varg30)
expression 必需。该表达式返回一个 Application 对象。
MacroName String 类型,必需。宏的名称。可以是任意模板、模块和宏名的组合。例如,下面的语句都是有效的:
Application.Run "Normal.Module1.MAIN"
Application.Run "MyProject.MyModule.MyProcedure"
Application.Run "'My Document.doc'!ThisModule.ThisProcedure"
如果指定了文档名,则此代码只能运行与当前环境有关的文档中的宏,而不是任何文档中的任何宏。
varg1...varg30 Variant 类型,可选。宏参数值。在一个指定的宏中可以用 30 个参数。
说明
虽然 Visual Basic 代码无须使用该方法即可直接调用宏,但是如果宏保存在变量中,该方法将非常有用(详细内容,请参阅本主题的示例)。下列语句具有相同功能:
Normal.Module2.Macro1
Call Normal.Module2.Macro1
Application.Run MacroName:="Normal.Module2.Macro1"
示例
本示例提示用户输入模板名、模块名、宏名以及参数值,然后运行该宏。
Dim strTemplate As String
Dim strModule As String
Dim strMacro As String
Dim strParameter As String
strTemplate = InputBox("Enter the template name")
strModule = InputBox("Enter the module name")
strMacro = InputBox("Enter the macro name")
strParameter = InputBox("Enter a parameter value")
Application.Run MacroName:=strTemplate & "." _
& strModule & "." & strMacro, _
varg1:=strParameter