在Excel中执行嵌入式.exe对象

时间:2014-09-23 12:53:27

标签: excel excel-vba call execution vba

我已将对象插入Excel。该对象是一个exe(控制台应用程序)。

我可以通过双击来调用该应用程序。但是,我需要使用参数调用它(即调用它的文档的文件路径)。如何用参数调用这个exe?

2 个答案:

答案 0 :(得分:4)

OP要求提供一种包含参数的方法,这在接受的解决方案中似乎是不可能的。我以不同的方式实现了这一点。此代码将文件提取到工作簿的目录,然后执行它。

Sub saveAndRunFileExample()
    ActiveSheet.OLEObjects(1).Copy
    CreateObject("Shell.Application").Namespace(ActiveWorkbook.Path).Self.InvokeVerb "Paste"
    Call Shell(ActiveWorkbook.Path & "\example.exe --parameter", vbNormalFocus)
End Sub

答案 1 :(得分:2)

如果您使用以下步骤将.exe导入Excel:

  1. 插入 - 对象
  2. 选择标签:从文件创建
  3. 浏览exe文件
  4. 选中“显示为图标”
  5. 然后你就可以编写VBA子程序/宏了(我使用矩形对象通过点击它来执行宏):

    Sub RoundedRectangle1_Click()
        Dim ws As Worksheet
        Dim oo As OLEObject
    
        Set ws = Sheets("Sheet1")
        Set oo = ws.OLEObjects("Object 1")
    
        oo.Verb xlVerbPrimary
    
    End Sub