将EXE文件embedded到Excel文件中

我用:

retVal = Shell("program.EXE " & filename, vbNormalFocus) 

执行一个程序需要我的Excel电子表格。

是否有可能将EXE文件embedded到Excel文件本身?

那我怎么执行呢?

Ideias:

1 – 某种types的bin2str函数将二进制转换为string(所以我可以将它作为一个variables和一个str2bin (反)

2 – 我读了一些关于OLE控制 (你可以在那里embedded),但我真的不知道从哪里开始

这是避免OLE的大纲解决方案:

  1. 创建一个隐藏的工作表。
  2. 使用base 64编码将exe转换为文本。
  3. 将该文本存储在隐藏工作表上的工作表单元格中。 由于单元格中的字符数量有限制(32,767),因此需要将字符串分解为块。

当你想要保存和执行exe文件时,显然你需要反转这个过程。

您可以通过使用以下操作来完成此操作:插入>对象,然后选择“从文件创建”。

使用VBA将其添加到您的工作表:

 Dim o As OLEObject Set o = ActiveSheet.OLEObjects.Add(Filename:="C:\program.exe") 

那么这是执行program.exe的命令:

 o.Verb Verb:=xlPrimary 

不知道如何传递参数,但是(例如你的filename )。

注意:不可信应用程序在运行时会提示警告。