我创建了一个VBScript,无需打开文件即可从excel运行宏。
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\Users\MyUser\Desktop\RM.xlsm'!Module4.Email"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing
我想使用这个VBScript& XLSM文件在不同的计算机上,所以如何在不编辑路径的情况下将此脚本更改为工作? (可能是从当前文件夹运行的代码或从任何用户桌面运行的代码)
答案 0 :(得分:4)
如果文件始终位于每个用户的桌面上,则可以使用环境变量来确定位置。
Set wshShell = CreateObject( "WScript.Shell" )
userName = wshShell.ExpandEnvironmentStrings( "%UserName%" )
path = "'C:\Users\" + userName + "\Desktop\RM.xlsm'!Module4.Email"
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run path
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing
(未经测试的代码)
如果文件不在每个用户的桌面上,那么您需要将其存储在网络上的公共位置,并让每个用户从那里访问它,例如在。
\\YourFileSever\SharedFiles\RM.xlsm
实际上后者是优选的,因为它意味着工作簿只在一个地方,当涉及到发布新版本时,你只需要更新一个副本