使用Excel VBA从SharePoint导入时使用部分文件名

时间:2018-11-16 16:07:07

标签: excel vba sharepoint

我正在尝试打开值,并将值从另一个工作簿导入到一个工作簿。这两个文件都在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

1 个答案:

答案 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