2016-12-06 9 views
0

テンプレートファイルをSharePoint(.xlsx)に保存し、アクティブフォルダをメインフォルダに保存し、すべての古いバージョンをメインフォルダのアーカイブフォルダに移動します。私は日付(yyyymmdd)でラベル付けし、次に各テンプレートに対して「テンプレート」を付けます。 20161206テンプレート。VBAを使用してオンラインのダイナミック名ファイルを開いて保存する

VBAでWorkbooks.Open( "http://www.website.com/")関数を使用してファイルを開くことができますが、インターネットから動的な名前付きファイルを開く方法がわかりません。

私のようなものを考えていた

Sub OpenFromInternet() 

Dim DateChk As String 
DateChk = 'Not sure 

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

End Sub 

DateChkは、私が立ち往生されています...私もこの問題について行くの効率的な方法だろうかわかりません。私は1つのファイルをメインフォルダ内に日付を入れておくだけで、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 

私はそれはかなり非効率的だと感じますが、問題を解決し...私は離れたから取得したいのですが2つ目のファイルを維持して使用する必要があります(オープン、クローズ)。

この2番目のワークブックを回避する助けがあれば幸いです。

答えて

0

機能コードの編集02を参照してください。

オンラインワークブックを別の質問で参照することについて質問します。私が最初に質問したのは、私が尋ねたところで意図したものとは無関係に答えられたからです。

関連する問題