2017-11-17 2 views
2

파일을 열지 않고 Excel에서 매크로를 실행하기 위해 VBScript를 만들었습니다.데스크톱에서 파일을 실행하는 VBScript (모든 사용자)

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 파일을 사용하려면, 그래서 내가 어떻게 경로마다 편집하지 않고 작업이 스크립트를 변경할 수 있습니다 ?
(현재 폴더에서 실행하는 코드 또는 모든 사용자 데스크톱에서 실행하는 코드 일 수도 있음)

답변

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 

(테스트되지 않은 코드) 파일이 다음 네트워크의 일반적인 위치에 저장하고 각 사용자 액세스가 필요합니다 각 사용자의 바탕 화면에없는 경우

그것은 거기에서, 예를 들어, 인치 이 통합 문서는 하나의 장소에, 그것을 새로운 버전을 출시에 올 때 당신은 단지 하나의 복사본

+0

가 감사를 업데이트해야 의미로 실제적인 측면에서

\\YourFileSever\SharedFiles\RM.xlsm 

후자가 바람직하다! 그것은 작동합니다! (네, 모든 데스크탑에서 Excel 파일을 복사 할 수 있습니다) –

+0

굉장합니다. 당신이 행복하다면 답을 뽑을 수 있겠습니까? – Spangen

+0

나는 이미 그랬지만 : "의견에 감사드립니다! 명성이 15 미만인 사람들의 투표는 기록되지만 공개적으로 게시 된 점수는 변경하지 마십시오." –

관련 문제