![](/img/trans.png)
[英]Read Excel 2007 Workbook Custom Properties without opening or running macros
[英]Running Macros without opening excel
我想知道如何将Excel VBA上编写的VBA代码分配给某种过程/程序,或者分配与dos相关的文件路径,而无需打开excel就可以直接使用。 换句话说,我希望有一个桌面图标,我可以搅拌分配给我的VBA代码。
您可以轻松做到。
在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/
如果我理解的没错,您可以简单地在文本文件中编写VBS代码并将其重命名为.vbs(确保文件结尾在Windows中可见)。 双击时,该文件由Windows脚本宿主执行。 VBS缺少VBA的某些功能,但是您可以使用CreateObject / GetObject做很多事情。
如果Excel宏中的VBA没有引用Excel对象,则只需将代码复制到文本文件中,然后将扩展名更改为.VBS。 但是,VB脚本在使用类型时不喜欢它,只需从Dim语句中删除“ AS something”即可。
我经常这样做是为了获得Intellisense的好处,而我不会使用Notepad。
如果我的假设是正确的,那么您可能希望将标签更改为VB脚本而不是Excel,以获得适当的帮助。
虽然学习曲线可能有点陡峭,但是您可以考虑使用AutoHotKey。 这使您可以创建自己的脚本,如果需要,可以将它们转换为(相当大).exe文件。 AutoHotKey是免费的!
编写一个打开excel的cmd或ps1,然后在excel的启动中运行您的宏...,然后关闭它。
这可能是一个解决方案,但是您可能正在做一些在正确的计划环境中不必要的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.