1.调用方式: "C:\Program Files\Microsoft Office\OFFICE12\EXCEL.EXE" "MacroName.xlsm" /e/parm1/parm2/
因为各种原因,大概是安全最重要, Office 2007中用xlsm作为含有macro的电子表格文件后缀名, /e表示后面开始传递参数,并用/隔开, parm1和parm2就是可以传递的参数了,当然可以传递更多个.
2.接收方式:
首先声明:
Option Base 0
Option Explicit
'get parameters from command line
Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineW" () As Long
Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (MyDest As Any, MySource As Any, ByVal MySize As Long)
然后保存参数到数组中:
Dim CmdRaw As Long
Dim CmdLine As String
Dim Msg As String
'get command line parameter
CmdRaw = GetCommandLine
CmdLine = CmdToSTr(CmdRaw)
'find for 3 par

本文介绍了如何在Windows环境下通过Batch脚本向Excel VBA传递参数。使用方法是调用Excel.exe,指定包含宏的工作簿路径,并在/e后面添加参数,如"C:Program FilesMicrosoft OfficeOFFICE12EXCEL.EXE" "MacroName.xlsm" /e/parm1/parm2/。在VBA中,可以接收到这些参数进行进一步处理。
最低0.47元/天 解锁文章
2119

被折叠的 条评论
为什么被折叠?



