ฉันต้องการสร้างไฟล์. vbs ที่เรียกใช้ไฟล์. xlsm ด้วยสิทธิ์ของผู้ดูแลระบบ [ซ้ำ]

Jan 09 2021

ฉันต้องการสร้างไฟล์. vbs ที่รันไฟล์. xlsm ด้วยสิทธิ์ของผู้ดูแลระบบ

วิธีการที่ฉันคิดคือ

  1. เรียกใช้ไฟล์ excel ในฐานะผู้ดูแลระบบ
  2. เปิดไฟล์. xlsm จาก Excel ที่เปิดด้วยสิทธิ์ของผู้ดูแลระบบ

ฉันเปิด. xlsx ในฐานะผู้ดูแลระบบ แต่ ...

Set objShell = CreateObject("Shell.Application") 
objShell.ShellExecute "C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE", "" , "", "runas", 0

ฉันไม่สามารถควบคุมไฟล์. xlsx ที่ฉันเปิดในฐานะผู้ดูแลระบบโดย GetObject (, Excel.application)

ฉันกราบขอความช่วยเหลือจากคุณ

คำตอบ

Hackoo Jan 10 2021 at 15:38

คุณสามารถลองใช้ไฟล์ 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
'-------------------------------------