我真的不知道如何使用网页上的excel导入从该网站获取数据
网站地址: http://www.scramble.nl/military-database/usaf
例如,serch for serial: 62-3578
在表格中给出结果:
争夺数据库 - 查询结果:
序列号:62-3578
型号:KC-135R
CN:18561 / T0629
单位:第141届ARS
是否可以使用vba excel为该类型的网站搜索数据?
在回应最近的评论时,我并不指望有人会为我编码所有内容,我以前使用过这个网站并且我知道它,但这次我在开始后就遇到了这个问题......
这是我从
开始的代码 Sub Get_scramble_data()
'
' Get_scramble_data Macro
'
'
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.scramble.nl/index.php?option=com_mildb&view=search", _
Destination:=Range("$A$1"))
.Name = "index.php?option=com_mildb&view=search"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
但是下一步需要在串行字段中手动插入值,例如 62-3578 ,然后单击搜索,然后我尝试从新创建的表中的搜索结果中获取数据,并且该VBA代码是不工作,我收到消息:“这个Web查询没有返回数据”
答案 0 :(得分:1)
这是一个X / Y问题。您认为可以使用QueryTables
来实现此目的,但您不能。所以你正在寻找错误的解决方案。
我真的不知道如何使用网页上的excel导入从该网站获取数据
我不是为你编写代码,但这里是的想法,我将由你来实现代码。
QueryTables
完成,因此您需要通过CreateObject("InternetExplorer.Application")
或CreateObject("MSXML2.XMLHTTPRequest")
个对象或类似方式自动化与网站的互动(例如, Selenium Web Driver)。 GetElementByID
(如果元素有ID
)或对标记名称进行强力迭代并使用适当的逻辑来标识正确的元素。 Google VBA get element on website。Click
或Submit
事件。 Google VBA Click button on webpage。这是基本的逐步。这完全有可能。如果您不知道如何继续,那么现在,您应该对从哪里开始有一些想法,这应该为您提供有关您需要搜索哪些主题以实现良好解决方案的想法
注意如果您遇到任何这些步骤,那么这应该是一个单独的,专注的&具体问题。如果您询问有关具体问题的问题,而不是似乎要求提供完整解决方案的问题,您将获得更好的运气。
我的建议是一步一步地解决这个问题。找出步骤1.如果遇到问题,有错误或问题,请提出问题。一旦你开始工作,尝试实施第2步。如果你遇到问题,请提出问题等等......