繁体   English   中英

是否可以在 excel 文件上从外部运行宏?

[英]Is it possible to run a macro externally on an excel file?

目前,我每天将数据从软件导出到 excel 文件。

有很多重复的任务,所以我创建了一个宏。

  1. 我打开新导出的 excel 文件,然后将其保存为“启用宏的工作表”

  2. 我打开启用宏的工作表

  3. 我将宏导入 excel 文件

  4. 我运行宏

有没有办法在不使用 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM