运行personal.xlsbmacros而不打开excel

我想运行存储在个人文件中的macros而不打开我的实际Excel文件。

我如何修改下面的代码来实现这一点

Set objExcel = CreateObject("Excel.Application") objExcel.Application.Run "'D:\Sample SSRS\power View\AlertHistory.xlsm'!Module1.getDataImported" objExcel.DisplayAlerts = False objExcel.Application.Quit Set objExcel = Nothing 

我的另一个问题是我试图录制一个macros,打开Excel的MySQL选项,并追加数据,但该function没有被logging。 我想将表1中的所有数据附加到我的mysql表中

代码是正确的,你只需要改变path,也许模块的名称。 获取个人path的一个简单而强大的方法是取消隐藏您的个人文件(查看>取消隐藏…):

1:获得个人的道路

然后做一个“另存为”。 不要真的保存它。 只要按住Shift并右键单击文件>单击“复制为path”:

在这里输入图像说明

然后粘贴到您的VBScript。 这会给你包括文件名的文件path。 在代码中,“Module1”是包含要运行的代码的模块的名称。 'getDataImported'是要运行的macros(在模块内)的名称。 根据需要更改这些。

记住要再次查看>隐藏您的个人文件,否则每次打开Excel时它都会始终可见。