2011-07-20 21 views
0

私は、複数のVBスクリプトマクロを使用してMicrosoft Excelでプログラムを作成しています。 私のマクロの1つは、 "From Web"というデータを取得し、Excelのシートにテーブルを取得します。 「From Web」と言うと、デスクトップ上にあるhtmlファイルからURLをコピーして貼り付けたところです。私のプログラムの場所は頻繁に変わるので、マクロを参照するこのURLを指定できるところでExcelを使用する必要があります。ここでVBスクリプトのファイルURLの名前を変数に変更するにはどうすればよいですか?

は、以下の私のコードは次のとおりです。ヘルプ

Sub ImportSwipeDataWithTitlesBeta() 
' 
' ImportSwipeDataWithTitlesBeta Macro 
' 
' Keyboard Shortcut: Ctrl+Shift+K 
' 
Sheets("Import Swipe Data").Select 
Cells.Select 
Selection.Delete Shift:=xlUp 
Range("A3").Select 
With ActiveSheet.QueryTables.Add(Connection:= _ 
    "URL;file:///C:/Users/Sean/Desktop/Attendance Program ADC/ACS%20OnSite%20SE%20Complete.htm", _ 
    Destination:=Range("$A$3:$C$3")) 
    .Name = "ACS%20OnSite%20SE%20Complete_8" 
    .FieldNames = True 
    .RowNumbers = False 
    .FillAdjacentFormulas = False 
    .PreserveFormatting = True 
    .RefreshOnFileOpen = False 
    .BackgroundQuery = True 
    .RefreshStyle = xlInsertDeleteCells 
    .SavePassword = False 
    .SaveData = True 
    .AdjustColumnWidth = True 
    .RefreshPeriod = 0 
    .WebSelectionType = xlEntirePage 
    .WebFormatting = xlWebFormattingNone 
    .WebPreFormattedTextToColumns = True 
    .WebConsecutiveDelimitersAsOne = True 
    .WebSingleBlockTextImport = False 
    .WebDisableDateRecognition = False 
    .WebDisableRedirections = False 
    .Refresh BackgroundQuery:=False 
End With 
Sheets("Resource Sheet").Select 
Range("B2:C2").Select 
Selection.Copy 
Sheets("Import Swipe Data").Select 
Range("A1:B1").Select 
ActiveSheet.Paste 
Range("A2").Select 
End Sub 

ありがとう!

答えて

0

使用する範囲はすべて.Selectである必要はありません。これらのステートメントは、マクロを記録することによって生成されますが、後でhereのようにコードを整理することができます。

しかし、あなたの質問に答えるために、あなたはVARであなたのURLを保存することができます、

Dim myURL As String 

myURL = "URL;" & Sheets("Import Swipe Data").Range("A1").Value 
With ActiveSheet.QueryTables.Add(Connection:= myURL, Destination:=Range("$A$3:$C$3")) 
    (...) 
End With 

よろしく

関連する問題