问题描述
我想创建一个以管理员权限运行 .xlsm 文件的 .vbs 文件。
我想到的方法是
我以管理员身份打开了 .xlsx,但是...
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE","","runas",0
我无法控制通过 Getobject(,Excel.application) 以管理员身份打开的 .xlsx 文件
我恭敬地请求您的帮助。
解决方法
你可以试试这个 vbs 文件:
Option Explicit
Call Run_as_Admin() ' We execute our script with admin rights !
Dim Ws,EXCEL_FILE_PATH
Set Ws = CreateObject("Wscript.Shell")
EXCEL_FILE_PATH = "C:\Path\file.xlsm" ' Just change this line into your path file
Ws.run EXCEL_FILE_PATH,1,True
'----------------------------------------
Sub Run_as_Admin()
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute DblQuote(WScript.FullName) _,DblQuote(WScript.ScriptFullName) & " /elevate","","runas",1
WScript.Quit
End If
End Sub
'--------------------------------------
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'-------------------------------------