从远程服务器(.exe)运行文件

时间:2015-11-05 20:41:13

标签: excel excel-vba vba

是否有机会在Excel中使用Visual Basic for Applications从远程服务器(.exe)运行文件?

2 个答案:

答案 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以正常(未最小化或最大化)大小显示窗口。