【问题标题】:Run Excel macro on multiple workbooks / files在多个工作簿/文件上运行 Excel 宏
【发布时间】:2017-05-31 10:39:35
【问题描述】:

我发现这个脚本可以循环浏览文件夹中的工作簿。

Sub OpenFilesVBA()
    Dim Wb As Workbook
    Dim strFolder As String
    Dim strFil As String

    strFolder = "c:\Temp"
    strFil = Dir(strFolder & "\*.xls*")
    Do While strFil <> vbNullString
        Set Wb = Workbooks.Open(strFolder & "\" & strFil)
        Wb.Close False
        strFil = Dir
    Loop
End Sub

我将宏设置为 PERSONAL.XLSB,这称为“导入”。我的文件是 Microsoft Excel csv 文件,它们将在我的代码中保存为 xlsx。

我的问题是如何修改上述代码以通过所有文件运行我的宏?在哪里包含我的宏?

非常感谢

【问题讨论】:

  • strFil = Dir(strFolder &amp; "\*.xls*") 更改为strFil = Dir(strFolder &amp; "\*.csv*")
  • 我应该把我的宏放在这段代码的什么地方?

标签: excel file vba


【解决方案1】:

如果你想对你打开的工作簿做一些事情,你的代码需要在Workbooks.Open函数之后:

Sub OpenFilesVBA()

Dim Wb As Workbook
Dim strFolder As String
Dim strFil As String

strFolder = "c:\Temp"
strFil = Dir(strFolder & "\*.csv*")
Do While strFil <> vbNullString
    Set Wb = Workbooks.Open(strFolder & "\" & strFil)

    'Add your code here

    Wb.Close False
    strFil = Dir
Loop

End Sub

【讨论】:

  • 我需要添加整个代码还是有办法提供宏名称或某种链接?
  • 只需使用宏的名称,例如如果您的 sub 被称为 import,只需添加 import 以及您需要的任何参数。
猜你喜欢
  • 2012-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-09
  • 1970-01-01
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
相关资源
最近更新 更多