运行macros而不打开Excel

我不知道如何将Excel VBA上编写的VBA代码分配给某种程序/程序,或者可能是dos相关的文件path,您可以直接打开excel。 换句话说,我想要一个桌面图标,我可以挑起我分配给一个VBA代码。

如果我理解正确的话,您可以简单地在文本文件中编写VBS代码,并将其重命名为.vbs(确保文件结尾在Windows中可见)。 双击该文件由Windows脚本主机执行。 VBS缺乏VBA的一些function,但是你可以用CreateObject / GetObject做很多事情。

如果Excelmacros中的VBA不引用Excel对象,则可以将代码复制到文本文件中,并将扩展名更改为.VBS。 然而,当你使用types时,VB脚本不喜欢它,只要从Dim语句中删除“AS something”即可。

我经常这样做,以获得Intellisense的好处,我不会使用记事本。

如果我的假设是正确的,那么你可能想要改变你的标签到VB脚本而不是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文件上双击clic来执行它。

资料来源: http : //wellsr.com/vba/2015/excel/run-macro-without-opening-excel-using-vbscript/

虽然学习曲线可能有点陡峭,但您可以考虑使用AutoHotKey。 这允许你创build你自己的脚本,如果需要的话把它们变成(相当大的).exe文件。 AutoHotKey是免费的!

写一个cmd或ps1,打开一个excel,并在该excel的启动运行你的macros…然后当完成closures它。

这可能是一个解决scheme,但你可能正在做一些在正确的计划环境中是不必要的。