我不知道如何将Excel VBA上编写的VBA代码分配给某种程序/程序,或者可能是dos相关的文件路径,您可以直接打开excel。换句话说,我想要一个桌面图标,我可以激发我分配的vba代码。无需打开excel即可运行宏
回答
如果我的理解是正确的,你可以简单地写在一个文本文件VBS代码,并重新命名为.vbs的 (确保文件结尾可见在Windows)。双击该文件由Windows脚本主机执行。 VBS缺乏VBA的某些功能,但您可以使用CreateObject/GetObject进行很多操作。
我对这种快捷方式的解决方案非常兴奋,但它给错误 – serhat
如果Excel宏中的VBA没有引用Excel对象,则可以将代码复制到文本文件中并将扩展名更改为.VBS。但是,VB脚本在使用类型时不喜欢它,只需从Dim语句中删除“AS something”。
我经常这样做以获得Intellisense的好处,我不会使用记事本。
如果我的假设是正确的,那么您可能希望将标签更改为VB脚本而不是Excel,以获得适当的帮助。
尽管学习曲线可能有点陡峭,但您可以考虑使用AutoHotKey。这允许您创建自己的脚本,并且如果需要的话将它们转换为(相当大的).exe文件。 AutoHotKey是免费的!
编写一个打开excel的cmd或ps1,并在该excel的启动运行您的宏...然后完成关闭它。
这可能是一个解决方案,但你可能正在做一些在正确的计划环境中不必要的东西。
你可以很容易地做到这一点。
将以下内容添加到VBS文件(例如example.vbs)中。这是唯一可以使用记事本编写的文本文件:
'Code should be placed in a .vbs file
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\path\to\my\excel\file\myExcelMacroFile.xlsm'!MyModule.MyFunctionName"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing
然后你就可以在VBS文件来执行它的两倍集团公司。
来源:http://wellsr.com/vba/2015/excel/run-macro-without-opening-excel-using-vbscript/
- 1. 无需通过Excel Engine打开和关闭即可编辑Excel
- 2. 运行Excel宏而不打开它
- 3. 无需打开或运行宏即可阅读Excel 2007工作簿自定义属性
- 4. 无需下载表格即可绕过运行时错误(Excel宏)
- 5. Excel VBA宏任何工作簿上的“运行/打开”宏
- 6. Excel宏打开EXE
- 7. bat文件打开excel运行宏关闭excel
- 8. 无需安装即可运行软件
- 9. 无需登录即可运行Publish-AzureRmVMDscConfiguration
- 10. 无需运行即可添加JUnits
- 11. 在Android中无需打开浏览器即可执行URL
- 12. 打开Excel文件并执行宏
- 13. 从Outlook宏运行Excel宏?
- 14. iis打开excel宏与system.diagnostics.process
- 15. 如何在用Perl打开的Excel文件中运行宏?
- 16. VBS脚本打开Excel和运行宏不工作
- 17. Excel工作簿打开事件宏并不总是运行
- 18. 如何使用批处理文件打开并运行excel宏
- 19. 打开Excel通过VBS和运行宏有
- 20. C#在不打开Excel的情况下运行宏
- 21. Python:在运行Excel宏时隐藏打开文件对话框
- 22. Excel VBA - 在应用程序打开时运行宏
- 23. 在打开每个Excel工作簿时自动运行宏
- 24. 如何仅在Excel工作簿打开VBScript时才运行宏?
- 25. 在已打开的excel上使用VBS运行宏
- 26. Windows脚本打开Excel文件并运行宏
- 27. 在不打开excel的情况下运行personal.xlsb宏
- 28. Python - 运行Excel宏
- 29. VBA excel运行宏
- 30. Python运行Excel宏
不能运行Excel的VBA宏'without'打开包含宏文件。如果你想要,你可以在隐藏模式下启动excel应用程序,然后在从VBS文件以隐藏模式打开文件后运行宏。 –
我认为更好的方法是尝试VB.Net。我发现从VBA学习曲线到**简单** VB.Net无痛苦。 Express版本是免费的,如果您只想生产桌面工具,则限制不太可能成为问题。 –
@Tony:这并不总是可能的。例如,在我的部门,我们为内部客户开发Excel工具,但我们无法访问VS许可证。 – ApplePie