只有在任务计划程序打开excel文件时,是否可以运行macros?

我已经安排了一个文件打开,然后运行macros并closures。 一切工作正常,除非我想手动打开文件,它closures打开,因为它运行macros。 是否可以设置只有当文件自动打开macros运行?

听起来像你的小组正在使用Open Event。 只要把它作为一个regualr Sub,在一个模块中,并使用你的vbs脚本打开工作表并运行macros。

我曾经一直这样做,但无法find我的旧脚本。 发现这一点,我知道它是类似于我的旧的。

 Dim xlApp Dim xlWkb Set xlApp = CreateObject("excel.application") Set xlWkb = xlApp.Workbooks.Open("PATH TO YOUR FILE") xlApp.Visible = True xlWkb.RunAutoMacros 1 'enables macros to be run on open xlApp.Run ("YOUR PROCEDURE") xlApp.Workbooks("YOUR WORKBOOK NAME").Save 'Save the workbook xlApp.Quit 'quits excel 

另存为.vbs和时间表。 例子在这里find。 这样,您可以随时打开并编辑脚本,而无需自动运行。

如果您自己打开文件的时间和计划程序打开的时间不重叠,则可以在运行代码之前添加对当前时间的检查,并且如果它在调度程序的窗口内运行macros观,其他明智不要。

Excel无法检测它是手动打开还是由调度程序打开。 但是,如果您手动打开它,则可以在受保护的视图中打开它,并以这种方式禁用macros。 在“打开..”对话框中,点击“打开”button上的小箭头,然后select“受保护的视图”。