我正在尝试打开值,并将值从另一个工作簿导入到一个工作簿。这两个文件都在SharePoint中并且在同一目录中。
只要目标文件具有特定名称,它就起作用。但是文件的名称开头和结尾都有变量。 5个不同的数字+名称+不同的日期(72262-Faktureringsplan-2018-11-16)。
我尝试使用*,但似乎不适用于SharePoint。如何使用某种“通配符”访问SharePoint中的文件名?
这是将加载文件的代码的一部分:
Sub faktureringsplan()
Dim FileName As String
FileName = ActiveWorkbook.Path & "\72262-Faktureringsplan-2018-11-16.xlsx"
Set wb = Workbooks.Open(FileName)
ThisWorkbook.Sheets(1).Range("B10:B31").Value = wb.Sheets(1).Range("B2:B23").Value
MsgBox ("Ferdig")
wb.Close
End Sub
答案 0 :(得分:0)
此代码试图使用'\ 72262-Faktureringsplan-2018-11-16.xlsx'查找非常特定的文件名 上线:
FileName = ActiveWorkbook.Path & "\72262-Faktureringsplan-2018-11-16.xlsx"
通配符(“ *”)的工作方式是用任何东西替换要匹配的部分。因此,从上面的简单更改为
"\72262-Faktureringsplan-*.xlsx"
对于您的情况,将返回以“ 72262-Faktureringsplan”开头的任何日期的文件名。
您还可以使用VBA的date函数来查找与今天的日期具有相同日期的匹配文件日期。
Format(date, "YYYY-MM-DD")
将以“ 2018-11-16”的格式返回今天的日期(此回复的日期)。
基本上,您可以执行以下操作:
FileName = ActiveWorkbook.Path & "\*-Faktureringsplan-" & Format(date, "YYYY-MM-DD") & ".xlsx"
这将与以下内容匹配:ANYTHING-Faktureringsplan-TODAY'S_DATE.xlsx