Me gustaría crear un archivo .vbs que ejecute el archivo .xlsm con privilegios de administrador [duplicado]

Jan 09 2021

Quiero crear un archivo .vbs que ejecute el archivo .xlsm con privilegios de administrador.

El método que pensé es

  1. Ejecute el archivo de Excel como administrador
  2. Abra el archivo .xlsm desde un Excel abierto con privilegios de administrador

Abrí .xlsx como administrador, pero ...

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

No puedo controlar el archivo .xlsx que abrí como administrador por GetObject (, Excel.application)

Te pido respetuosamente tu ayuda.

Respuestas

Hackoo Jan 10 2021 at 15:38

Puede intentarlo con este archivo 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
'-------------------------------------