面临的需求:
VBA既可以通过人手动触发运行,生成相应的文件;也需要通过命令控制,自动执行VBA生成文件,供其他工具使用。
解决方法:
1. 手动执行VBA只需要在excel中增加绑定宏的按钮即可
2. 通过命令执行是为了供其他系统或者工具使用,解决思路为,其他工具调bat文件,bat文件通过打开excel执行vba
步骤如下:
(1)在VBA中增加workbook的open事件,此事件会在文件打开时触发
(2)写一个bat文件,用于打开excel,同时设置标识,用于标识是bat打开的:
(3)VBA检查是否为cmd命令打开excel,如果是进行后续处理,如果否则不处理,代码如下:
' 32 位系统为
' Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineW" () As Long
' Decla