2016-12-06 75 views
0

我一直在我們的SharePoint(.xlsx)格式模板文件,與活躍在一個主文件夾,並在該主文件夾中的所有舊版本移到一個存檔文件夾。我按日期標記(yyyymmdd),然後爲每個更新標記「模板」,例如20161206模板。使用VBA來打開和保存在線動態名文件

我知道我可以使用VBA中的Workbooks.Open(「http://www.website.com/」)函數來打開文件,但我不確定如何從Internet打開動態命名文件。

我想的是一樣的東西:

Sub OpenFromInternet() 

Dim DateChk As String 
DateChk = 'Not sure 

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

End Sub 

的DateChk是我一直卡住...我不知道是什麼,即使是要去這個問題的有效途徑。考慮到我只在主文件夾中保留一個文件,並在其中包含日期,我爲DateChk嘗試了一個通配符(星號),但它不起作用。

任何投入將在搞清楚如何得到那個DateChk是有意義的理解。


編輯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,下標出來的範圍)。我希望不得不另外有一個文件需要更新,但我認爲這對我來說比其他人更容易維護,只需要記住它。

仍然可以通過這個工作。


編輯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功能代碼。

會詢問的另一個問題引用網上的工作簿,因爲我原來問的問題得到的回答是,不管是什麼,我想我打算問,像我一樣。