首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Do While循环在文件名中使用Variable打开多个工作簿

Do While循环在文件名中使用Variable打开多个工作簿
EN

Stack Overflow用户
提问于 2018-06-02 05:40:31
回答 1查看 292关注 0票数 0

警告,这是我第一次(也是失败了)尝试使用loop语句。

我有一个文件夹,其中包含许多工作簿,这些工作簿的文件名中都包含日期。我想创建一个宏,该宏使用用户提供的日期打开名称中包含该日期的所有工作簿。

我当前的循环语句只是一遍又一遍地重新打开同一个文件,而不是打开名称中包含该日期的所有文件,然后退出循环,即使文件夹中有几个文件的名称中包含该日期。这就是我目前所知道的..。

代码语言:javascript
复制
Dim finddate As Variant
Dim formatedate As String
Dim mypath As String


finddate = InputBox("Enter Date to Show Records")
Range("A1") = finddate
formatedate = ActiveSheet.Range("A2").Value


mypath = "filepathhere\???????" & formatedate & ".xlsm"

Do While mypath <> ""
Workbooks.Open Filename:=mypath
Loop

A2中的公式对用户输入的日期进行格式化,以匹配文件的命名方式。我还需要做些什么来告诉它从第一个文件继续并在文件夹中查找其他文件?此外,我不确定如何退出循环,因此一旦它(希望)打开该日期的文件,它将停止在文件夹中循环。

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 09:48:10

一个简单的解决办法是在使用文件后将其删除。当然,您应该将您的文件备份到其他地方。通常我会先重命名文件。

代码语言:javascript
复制
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set fsoFolder = fso.getfolder(filePath)
       fsoFile.Name = "d:\folder\blablabla.xls"
        ' do your things

       FileSystem.Kill "d:\folder\blablabla.xls" 'delete file
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50651311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档