在Excel中执行embedded的.exe对象

我已经插入一个对象到Excel中。 这个对象是一个exe(一个控制台应用程序)。

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

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

  1. 插入 – 对象
  2. select选项卡:从文件创build
  3. 浏览exe文件
  4. 检查“显示为图标”

那么你可以写VBA的子程序/macros像(我用矩形对象来执行macros通过单击它):

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 

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

 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