是否有机会在Excel中使用Visual Basic for Applications从远程服务器(.exe)运行文件?
答案 0 :(得分:1)
使用空白Excel时,不可能这样做。
这是一个建议,你如何实现这个目标:
为远程服务器编写服务,该服务具有启动exe文件的操作。例如,可以使用WCF服务完成此操作。
如果服务正在运行,您可以从客户端(Excel)调用此操作。
看一下这个WCF beginner tutorial,开始吧。要集成到Excel中,请查看here
答案 1 :(得分:0)
壳牌更直接。
Private Sub CommandButton1_Click()
Dim filename As String
Dim retVal As Long
filename = "c:\a.txt"
retVal = Shell("NOTEPAD.EXE " & filename, vbNormalFocus)
End Sub
或 ShellExecute Windows API
在代码顶部声明此内容。
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) As Long
然后你可以打电话。
Dim RetVal As Long
RetVal = ShellExecute(0, "open", "<full path to program>", "<arguments>", _
"<run in folder>", SW_SHOWMAXIMIZED)
然后评估回报。
args 是
- hWnd新程序父级的窗口句柄 操作
- 要执行的操作。
- 文件要操作的文件的名称。
- 参数传递给您所关注的可执行程序的参数 执行。
- 目录默认目录。
- 风格
的风格
操作是
编辑启动编辑器并打开文件进行编辑 探索浏览文件参数中列出的文件夹 查找在指定目录中启动查找实用程序 打开使用相应的默认应用程序打开文件。例如,如果文件是HTML文件,则系统会在系统的默认浏览器中打开该文件 打印打印文件。
样式是
SW_HIDE隐藏窗口。
SW_MAXIMIZE最大化窗口
SW_MINIMIZE最小化窗口
SW_RESTORE将窗口恢复为正常(未最大化或最小化)大小
SW_SHOW激活窗口并以当前大小显示它
SW_SHOWDEFAULT以默认大小显示窗口
SW_SHOWMAXIMIZED显示最大化的窗口
SW_SHOWMINIMIZED显示最小化的窗口
SW_SHOWMINNOACTIVE在不给予焦点的情况下显示窗口最小化
SW_SHOWNA以当前大小显示窗口而不给它焦点
SW_SHOWNOACTIVATE以最近的大小和位置显示窗口,而不给它焦点
SW_NORMAL以正常(未最小化或最大化)大小显示窗口。