Excel 使用部分名称从路径打开文件
我找到了从路径(指单元格)打开文件的代码,以及在完整文件名未知时如何打开文件,但是,我无法同时执行这两项操作。这可能吗 从以下路径打开文件:Excel 使用部分名称从路径打开文件,excel,vba,Excel,Vba,我找到了从路径(指单元格)打开文件的代码,以及在完整文件名未知时如何打开文件,但是,我无法同时执行这两项操作。这可能吗 从以下路径打开文件: Dim google_ads_report As Workbook Dim FromPath As String ' Get path from cell C14 on Report tab FromPath = Workbooks("Monthly Report - Master.xlsm").Sheets("Mac
Dim google_ads_report As Workbook
Dim FromPath As String
' Get path from cell C14 on Report tab
FromPath = Workbooks("Monthly Report - Master.xlsm").Sheets("Macros").Range("C14")
' Make sure there is a backslash at the end of the from path
If Right(FromPath, 1) <> "\" Then FromPath = FromPath & "\"
'Set wkb = ThisWorkbook
Set google_ads_report = Workbooks.Open(FromPath & "hi.xlsx")
奇怪的是,部分文件打开代码两次都需要目录,在遇到这个问题并思考之后,这很奇怪,不是吗
我假设有办法做到这一点,但我似乎做不到/找不到
谢谢 我唯一能想到的就是在指定的文件夹中循环,并检查文件名是否包含所需的月份文本。请参阅下面的代码(未测试,但应为您指明正确的方向)
选项显式
子打开_文件()
Dim fs作为对象,sf作为对象,文件作为变量
将sFileName设置为字符串
设置fs=CreateObject(“Scripting.FileSystemObject”)
设置sf=fs.GetFolder(“C:\Users\tom\Desktop\”)
sFileName=“分析谷歌广告收入-每月”
对于sf.Files中的每个文件
如果InStr(file.Name,sFileName)>0,则
'找到文件-现在执行open方法
退出
如果结束
下一个文件
端接头
每月的变化是什么?VBA.FileSystem.Dir
只返回文件名,而不是路径,因此您需要目录。您好@Dean,日期应该很容易添加,但是其他平台在报告名后附加了随机数,因此需要此修复。BigBen啊,在这种情况下是有道理的。但是,你的代码发生了什么?它是否返回错误?如果不是,它是否返回错误的文件名?如果是,这种使用通配符的方法将返回找到的第一个匹配项,如果有很多匹配项可用…@FaneDuru我根据我试图格式化代码的方式遇到了不同的错误,主要是说“对不起,我们找不到…”谢谢@dean,非常感谢Hey@Tom,没问题。如果成功,请将此标记为关闭票据的答案。干杯
GA_Transactions = VBA.FileSystem.Dir("C:\Users\tom\Desktop\Analytics Google Ads Revenue - Monthly*.xlsx")
Workbooks.Open "C:\Users\tom\Desktop\" & GA_Transactions