2016-12-06 2 views
0

Я храню файлы шаблонов в нашем SharePoint (.xlsx), причем активный в главной папке и все более старые версии перемещаются в папку Archive в указанной основной папке. Я помечаю дату (yyyymmdd), за которой следует «Шаблон» для каждого обновления, например. 20161206 Шаблон.Использование VBA для открытия и сохранения файла динамического имени

Я знаю, что я могу использовать Workbooks.Open ("http://www.website.com/") в VBA, чтобы открыть файл, но я не уверен, как открыть динамический файл с именем из Интернета.

Я думал что-то вроде:

Sub OpenFromInternet() 

Dim DateChk As String 
DateChk = 'Not sure 

Workbooks.Open "http://www.website.com/" &DateChk& " Template.xlsx" 

End Sub 

DateChk где я застрял ... Я не знаю, что бы даже быть эффективным способом идти об этой проблеме. Учитывая, что я сохраняю только один файл в основной папке с датой в нем, я попробовал подстановочный знак (звездочка) для DateChk, и он не работал.

Любой вход был бы оценен при определении того, как получить этот DateChk, чтобы быть значимым.


Edit 01:

Попытка этот код:

Sub OpenFromInternet() 

Dim wbk As Workbook 
    Set wbk = Workbooks("http://www.website.com/Update Log.xlsx") 

Dim LR As Long 
    LR = Cells(wbk.Sheets("Sheet1").Rows.Count, 1).End(xlUp).Row 

Dim DateChk As String 
    DateChk = Workbooks("http://www.website.com/Update Log.xlsx").Sheets("Sheet1").Range("A" & LR).Value 

Workbooks.Open "http://www.website.com/" & DateChk & " Template.xlsx" 

End Sub 

вопросы я получаю связаны с попытками определить онлайн книгу (время выполнения ошибки 9, подстрочный из ассортимент). Мне бы хотелось иметь еще один файл для обновления, но я думаю, что это легче для меня, чем для других ... просто нужно помнить об этом.

Все еще работает через это.


Edit 02:

У меня есть этот код, который работает:

Sub OpenFromInternet() 

Workbooks.Open ("http://www.website.com/Update Log.xlsx") 

    Dim LR As Long 
     LR = Cells(Sheets("Sheet1").Rows.Count, 1).End(xlUp).Row 

Dim DateChk As String 
    DateChk = Sheets("Sheet1").Range("A" & LR).Value 

Workbooks("Update Log.xlsx").Close SaveChanges:=False 

Workbooks.Open "http://www.website.com/" & DateChk & " Template.xlsx" 

End Sub 

Я чувствую, что это очень неэффективно, но решает этот вопрос ... Я хотел бы, чтобы уйти от того, необходимо сохранить и использовать второй файл (открыть, закрыть).

Любая помощь, чтобы обойти эту вторую книгу, будет оценена по достоинству.

ответ

0

См. Редактировать 02 для кода функционирования.

Спросите о ссылках на онлайн-книги в другом вопросе, так как на вопрос, который я изначально задал, был дан ответ, независимо от того, что я думал, что хочу, спросив, как и я.

Смежные вопросы