我正在尝试将文本文件自动导入到Excel中,并且出现了一些问题。
我在这里使用香蕉作为URL的动态方程式,但是失败了。
http://regsho.finra.org/regsho-September.html
Option Explicit
Public Sub testing()
Dim qt As QueryTable
Dim ws As Worksheet
Dim banana As String
Set ws = ThisWorkbook.Worksheets("Sheet1")
banana = Range("C4").Value
Const URL As String = "http://regsho.finra.org/CNMSshvo"" & banana & "".txt"
Set qt = ws.QueryTables.Add(Connection:="URL;" & URL, Destination:=ws.Range("A1"))
With qt
.RefreshOnFileOpen = True
.FieldNames = True
.WebSelectionType = xlSpecifiedTables
.WebTables = 1
.Refresh BackgroundQuery:=False
End With
End Sub
答案 0 :(得分:0)
可能是因为您以错误的方式向文本字符串添加了banana
变量。您正在做:
Const URL As String = "http://regsho.finra.org/CNMSshvo"" & banana & "".txt"
这应该是
Const URL As String = "http://regsho.finra.org/CNMSshvo" & banana & ".txt"
即用单引号替换双引号。字符串中有2个双引号会在文本中插入一个文本双引号(这称为转义),这意味着字符串在插入的双引号之后才继续。反过来,这意味着您在字符串中包含文字文本“ banana”(包括引号)。因此,您最终得到以下URL:
http://regsho.finra.org/CNMSshvo" & banana & ".txt
一种解决这类问题的方法是在const字符串之后添加以下内容:
call MsgBox(URL)
,您很快就会发现自己建立了什么URL:)