excel - 如何在VBA中循环并打开我当前文件夹中的所有csv文件
问题描述
我在桌面上随机创建了一个新文件夹,在这个文件夹中我有一个扩展名为 .xlsm 的模板文件,其中包含我的 VBA 代码。同时,我有几个 csv 文件与我的原始数据保存在同一个文件夹中。
目的是一个一个地循环所有这些csv文件,打开它,复制一些数据并从中粘贴到我的模板文件(我知道如何做这部分),并在所有操作完成后关闭它。
目前我遇到了一个关于如何遍历我的文件夹并一一打开这些 csv 的问题。我没有设置特定的文件夹名称,因为我想与其他人共享使用,因此我使用 Application.ActiveWorkbook.Path 来获取我当前文件夹的路径。
这是我的代码:
Option Explicit
Sub Range_End_Method()
Dim Dir As String
Dim i As String
Application.ScreenUpdating = False
Dir = Application.ActiveWorkbook.Path & "\"
For Each i In Dir.Files
Debug.Print i.Name
If (i.Name Like "*.csv") Then
Workbooks.Open (i.Path)
End If
Next
End Sub
解决方案
我猜你想使用 Dir 函数。要使用它,请调用它,在第一次调用中指定文件夹和文件类型,然后调用它为空,直到它返回一个空字符串。像这样:
Folder = Dir(Application.ActiveWorkbook.Path & "\*.csv")
Do While Folder <> ""
Debug.Print Folder
Workbooks.Open Folder
Folder = Dir()
Loop
推荐阅读
- javascript - node.js 客户端错误未显示在控制台中
- java - 服务发布方法的负面场景
- r - R按组/循环功能计数并输出到csv
- php - Laravel 多对多存储到数据库
- entity-framework - 如何删除一列并创建一个新列而不是在 EF Core 中重命名?
- excel - 当存在某些匹配值时如何删除excel中的重复行
- python - 如何确保良好的、不同的初始 NumPy MT19937 状态?
- python - 在NN训练期间最大化一种损失并最小化另一种损失的正确方法是什么?
- sql - 使用 SQL 在所有期间复制输出行
- ios - OAuthSwift SceneDelegate.swift 问题 ObjC+Swift 项目