我使用VBA(.xlsm)构建了一个工具,并希望将其转换为.exe文件。我希望excel图标一旦转换为.exe文件(充当自定义应用程序)就不会显示。我知道你可以创建一个快捷方式并更改图标,但是想完全删除excel图标,或者至少仍然在文件夹中的某处有excel文件,但可以通过.exe图标访问。
知道最好的方法是什么?
非常感谢!
答案 0 :(得分:1)
如果您只能在Excel中进行开发,则可以尝试使用 VB脚本来启动Excel。
你是怎么做到的?
使用记事本创建.vbs
文件。你是如何创造一个的?
只需保存文件,然后在文件另存为对话框中选择所有文件(*)。
创建有用的名称并使用.vbs
扩展名。
就是这样,你现在有一个Vb Script
可执行文件。
然后编写代码以打开并启动Excel。你可以看看what brettdj has to say here。
请注意大卫的评论。如果需要在Readonly
中打开工作簿(无需保存工作簿,它是模板)或ReadWrite
(需要在运行宏后保存工作簿)模式。最简单的代码看起来就像brettdj写的那样。我们只需注意以ReadOnly
打开工作簿。
xlFilePath = "C:\User\Username\myexelfile.xlsm"
Set xlWb = xlApp.Workbooks.Open(xlFilePath, 0, True) '/* opens as ReadOnly */
将True
更改为False
,使其成为ReadWrite
。保存并且您的exe文件已完成。
由于您需要一个可执行文件,我假设您在Excel中有表单。
如果我的假设是正确的,您可以使用事件来关闭和终止Excel。下面的内容在关闭Userform
之后会关闭工作簿。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ThisWorkbook.Close False '/* do not save changes */
End Sub
您必须在工作簿本身上使用另一个事件来关闭 Excel应用程序。
它应该如下所示:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Quit '/* quits Excel before actually closing the workbook */
End Sub
答案 1 :(得分:0)
您可以使用Visual Studio轻松创建.exe文件。我从未听说过有人使用Excel创建.exe文件。
https://www.youtube.com/watch?v=CEpiZqSlPGg
使用Visual Studio有很大的好处!使用托管环境(包括用C#和VB.NET编写的任何东西)的任何东西都需要.NET框架。您可以在该场景中简单地重新分发您的.EXE,但如果他们还没有它,他们将需要安装相应的框架。