如何在VB脚本中将文件URL重命名为变量?

时间:2011-07-20 21:06:49

标签: vbscript excel-vba vba excel

我正在使用一堆VB脚本宏在Microsoft Excel中创建一个程序。 我的一个宏获取数据“From Web”并将表格检索到excel中的工作表。当我说“来自网络”时,我只是复制并粘贴了我桌面上的html文件中的URL。我的程序的位置会经常更改,所以我需要能够在excel中有一个单元格,我可以在其中指定此URL,我的宏将引用该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

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您不需要.Select您使用的每个范围。这些语句是通过录制宏生成的,但您可以按照here所述的方式清理代码。

然而,要回答您的问题,您可以将您的网址存储在var:

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

此致