【问题标题】:Need to run Excel macro with administrator mode in VB 6.0需要在 VB 6.0 中以管理员模式运行 Excel 宏
【发布时间】:2014-11-11 06:30:59
【问题描述】:

我正在用 VB 6.0 编写这段代码

我有一个 excel 文件,里面有一个宏。但是如果我以管理员身份打开 excel,宏将运行我得到以下代码,它将以管理员身份打开 excel 程序,但我无法打开已保存在驱动器中的特定 excel 宏文件

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long ) 只要 常量 SW_SHOWNORMAL = 1

‘这将用一本新书打开excel

子主()

ShellExecute 0, "runas", "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.exe", 命令, vbNullString, SW_SHOWNORMAL

结束子

但是我需要打开保存在路径“C:\Users\user\Desktop\My Trading Robot\Automation_Ver3.0.xlsm”中的excel文件,对于ADMINISTRATOR我没有给出任何密码我拥有笔记本电脑的管理员权限 有人可以帮助我如何在 Windows 07 机器中使用 excel VB 6.0 来实现这一点...?

提前致谢, 阿伦 C M

【问题讨论】:

    标签: vb6


    【解决方案1】:

    有点不清楚你想做什么,但这可能会对你有所帮助。它通过ShellExecute 命令打开 Excel,打开特定文件,然后运行宏:

    Sub Main()
    
        ShellExecute 0, "runas", "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.exe", Command, vbNullString, SW_SHOWNORMAL
    
        Dim xl As Excel.Application
        Set xl = GetObject(, "Excel.Application")
        With xl
            .Visible = True
            .Workbooks.Open ("C:\Users\user\Desktop\My Trading Robot\Automation_Ver3.0.xlsm")
            .Run "YourMacroName"
        End With
    
    End Sub
    

    注意:GetObject 方法将获取它找到的第一个 Excel 实例,因此请确保在执行此操作之前没有运行 Excel。

    【讨论】:

    • 完美的代码,我看起来一模一样,谢谢你的帮助。
    • 感谢您的快速响应和帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 2018-11-03
    • 2013-03-04
    相关资源
    最近更新 更多