我创建了一个 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 文件,那么我怎样才能改变这个脚本来工作而不每次都编辑路径?
(可能是从当前文件夹运行的代码或从任何用户桌面运行的代码)
最佳答案
如果文件总是在每个用户的桌面上,那么您可以使用环境变量来确定位置。
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
(未经测试的代码)
如果文件不在每个用户的桌面上,那么您需要将它存储在网络上的一个公共(public)位置,并让每个用户从那里访问它,例如在 。
\\YourFileSever\SharedFiles\RM.xlsm
实际上后者更可取,因为这意味着工作簿只在一个地方,并且在发布新版本时您只需更新一份
关于VBScript 从桌面运行文件(任何用户),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47351484/