2015-11-05 148 views

回答

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

0

對於空白的Excel,這不是不可能的。

這裏有一個建議,你可以如何實現這一點:

寫服務爲遠程服務器,裏面有啓動的exe文件的操作。例如,這可以通過WCF服務完成。

如果服務正在運行,您可以從客戶端(Excel)調用此操作。

看看這個WCF beginner tutorial,開始。對於集成到Excel中,請看一看here