從 Excel 2007/2010 上下文選單啟動可執行文件,並將儲存格內容作為參數

從 Excel 2007/2010 上下文選單啟動可執行文件,並將儲存格內容作為參數

對於 Excel 2007 和 2010。當使用者選擇時,它將啟動可執行檔:

     \\servername\path\slump.exe 12345

其中 12345 是右鍵點選的儲存格的內容。有人可以給我概述如何將其添加到上下文功能表並將單元格的內容傳遞到啟動專案的 VBA,以及用戶將功能添加到 Excel 副本的最佳方法是什麼他/她是管理員的機器。

編輯:如果它對決定如何部署它產生影響 - 我應該提到可能會有 7 或 8 人使用它。我們都在同一家公司工作。我不認為我們擁有簽署巨集的憑證。我們可能想要為不同的專案安裝和卸載一堆類似的東西。

答案1

如果僅在一本工作簿中需要該功能;您只需將巨集新增至該工作簿並將其另存為 xslm。那會是最簡單的。

但是,如果多個工作簿需要該功能,那麼您可能需要將其作為插件(可以載入到任何人的 Excel 副本的程式碼)或共享宏,具體取決於您的需求。

程式碼非常簡單。載入啟用巨集的工作簿(或外掛程式)後,將一個條目新增至上下文功能表(右鍵選單):

Private Sub Workbook_Open()
With Application.CommandBars("Cell")
    With .Controls.Add(Type:=msoControlButton)
        .BeginGroup = True
        .Caption = "Run Slump"
        .OnAction = "doTheSlump"
    End With
End With
End Sub

每當工作簿關閉(或停用)時,刪除上下文功能表:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  With Application.CommandBars("Cell")
    .Controls("Run Slump").Delete
  End With
End Sub

程式碼確實運行,應該在 vba 模組中。在此範例中,它將使用單元格的內容作為檔案路徑開啟筆記本:

Sub doTheSlump()
retval = Shell("C:\WINDOWS\notepad.exe " + Selection.Value, 1)
End Sub

相關內容