从桌面(任何用户)

时间:2017-11-17 13:13:16

标签: vbscript path

我创建了一个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文件在不同的计算机上,所以如何在不编辑路径的情况下将此脚本更改为工作? (可能是从当前文件夹运行的代码或从任何用户桌面运行的代码)

1 个答案:

答案 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

实际上后者是优选的,因为它意味着工作簿只在一个地方,当涉及到发布新版本时,你只需要更新一个副本