[英]Is it possible to run macro only when excel file is opened by Task Scheduler?
[英]Is it possible to run a macro externally on an excel file?
目前,我每天将数据从软件导出到 excel 文件。
有很多重复的任务,所以我创建了一个宏。
我打开新导出的 excel 文件,然后将其保存为“启用宏的工作表”
我打开启用宏的工作表
我将宏导入 excel 文件
我运行宏
有没有办法在不使用 VBS 或任何其他方式执行上述所有步骤的情况下运行宏?
我不知道是否有解决方案,但我希望外部 VBA 操作员会询问导出文件的位置,然后执行 rest
您可以轻松打开任何其他工作簿并在该工作簿上运行任何命令。 因此,您可以在 Excel 文件MyMacroFile.xlsm
中使用以下宏,并在C:\Temp\WorkbookToRunMacroOn.xlsx
中操作数据。
Option Explicit
Public Sub DoTasksOnOtherWorkbook()
'open another workbook
Dim OpenWorkbook As Workbook
Set OpenWorkbook = Application.Workbooks.Open(Filename:="C:\Temp\WorkbookToRunMacroOn.xlsx")
OpenWorkbook.Worksheets("Sheet1").Range("A1").Value = "Changed A1 in another workbook"
'don't forget to close the workbook and save or not
OpenWorkbook.Close SaveChanges:=True
End Sub
如果您想要求用户以 select 文件打开您可以使用Application.FileDialog 属性返回一个文件名,然后您可以在Application.Workbooks.Open
中使用它来打开它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.