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

Posted

技术标签:

【中文标题】在 Excel 中执行嵌入的 .exe 对象【英文标题】:In Excel execute embedded .exe object 【发布时间】:2014-09-23 12:53:26 【问题描述】:

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

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

【问题讨论】:

可以在Excel文件中导入.exe吗?我无法在本地计算机上执行此操作。 :) @Miki 是的。插入和对象并从文件中获取 exe。 很好,今天学到了。 :) 【参考方案1】:

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

【讨论】:

【参考方案2】:

如果您通过以下步骤将 .exe 导入 Excel:

    插入 - 对象 选择选项卡:从文件创建 浏览 exe 文件 选中“显示为图标”

然后你可以编写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

【讨论】:

以上是关于在 Excel 中执行嵌入的 .exe 对象的主要内容,如果未能解决你的问题,请参考以下文章

excel出现不能使用对象链接和嵌入怎么办

excel2007不能使用对象链接和嵌入。怎么办急急急

如何编辑word中插入的excel对象?

关于C#获取多个Excel.exe对象的问题

如何在2016 excel中嵌入excel表格

如何在WORD中插入另一个excel文件