我试图在Excel中使用VBA来访问嵌入在网页中的网页中的数据 . 如果表位于非嵌入页面上,我知道如何执行此操作 . 我也知道如何使用VBA导航到该产品的页面 . 我不能只导航到嵌入式页面,因为有一个产品ID查找,将部件号转换为id,我无法访问该数据库 .
这是该页面的链接:http://support.automation.siemens.com/WW/view/en/7224052
为了清晰起见,我会提出一个元素的图片,但我没有10个代表点......
我需要从中获取信息的表是“产品生命周期”表 .
如果我使用以下代码将页面保存为VBA中的HTMLDocument,我可以在相应项下的src属性中看到正确的url:
For Each cell In Selection
link = "http://support.automation.siemens.com/US/llisapi.dll?func=cslib.csinfo&lang=en&objid=" & cell & "&caller=view"
ie.navigate link
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Dim doc As HTMLDocument
有没有办法用VBA索引此表,或者我是否必须联系该公司并尝试访问产品ID,以便我可以直接导航到该页面?
关于我在下面的评论,这里是记录宏的代码:
ActiveCell.FormulaR1C1 = _
"http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=6ES7194-1AA01-0XA0&caller=view"
Range("F9").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://support.automation.siemens.com/WW/llisapi.dll?func=ll&objid=7224052&nodeid0=10997566&caller=view&lang=en&siteid=cseus&aktprim=0&objaction=csopen&extranet=standard&viewreg=WW" _
, Destination:=Range("$F$9"))
.FieldNames = True
.RowNumbers = False
我知道在哪里可以找到字符串: URL;http://support.automation.siemens.com/WW/llisapi.dll?func=ll&objid=7224052&nodeid0=10997566&caller=view&lang=en&siteid=cseus&aktprim=0&objaction=csopen&extranet=standard&viewreg=WW
,但我不知道如何将其保存到变量中 .
2 回答
不确定我是否完全理解你的问题,但这里有一些代码可以获得感兴趣的表格后面的源代码 . 您可以使用“instr”和“mid”等功能提取感兴趣的数据
我在让ron的代码工作时遇到了问题,我认为因为IE不能轻松使用帧 . 下面是一些代码,它们将从您提到的表中提取一些数据,到目前为止它还没有处理图表 .