我在VB 6.0中编写此代码
我有一个excel文件,里面有一个宏。但是如果我打开excel作为管理员,宏将运行我得到一个以下代码,将打开excel程序作为ADMINISTRATOR但我无法打开已保存在驱动器中的特定Excel宏文件
私有声明函数ShellExecute Lib“shell32.dll”别名“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 ) 只要 Const SW_SHOWNORMAL = 1
'这将用新书打开excel
Sub Main()
ShellExecute 0,“runas”,“C:\ Program Files(x86)\ Microsoft Office \ Office12 \ EXCEL.exe”,Command,vbNullString,SW_SHOWNORMAL
End Sub
但是我需要打开路径“C:\ Users \ user \ Desktop \ My Trading Robot \ Automation_Ver3.0.xlsm”中保存的excel文件,对于ADMINISTRATOR我没有给出任何密码我对我的笔记本电脑拥有ADMINISTRATOR权利 有人可以请帮助我如何使用Windows 07机器中的excel VB 6.0实现...?
提前致谢, Arun C M
答案 0 :(得分: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。