mshtml.IHTMLElement getAttribute不稳定行为

时间:2016-04-04 04:36:59

标签: .net vb.net excel internet-explorer microsoft.mshtml

在应用程序中,我使用mshtml.IHTMLElement.getAttribute(mimetype)mshtml.HTMLDocument中提取mimetype。

示例:

www.mywebsite.com/index.html。此网页有1个mimetype,它是一个Excel工作簿。

Dim oHTML_Element As mshtml.IHTMLElement
Dim HTMLDoc As mshtml.HTMLDocument

HTMLDoc = CType(oBrowser.Document, mshtml.HTMLDocument)
'//mimtype = "Microsoft Office Excel 97-2003 Worksheet"

For Each oHTML_Element In HTMLDoc.getElementsByTagName("a")
   If oHTML_Element.getAttribute("mimetype") is Nothing then
        MsgBox ("NONE FOUND")

   Else
       MsgBox( oHTML_Element.getAttribute("mimetype").ToString())

   End If
End For

问题:    我在位置1(亚太地区)运行此应用程序,当我访问该网页时,我会弹出MsgBox MIMETYPE    我的同事正在位于2号位置(亚洲)运行此应用程序,当他访问该网页时,他会弹出MsgBox显示NONE FOUND。    网页访问不是问题,我们大约在同一时间访问网页,它是一个静态页面,换句话说,它不会根据地理位置提供MIMETYPE。他可以通过手动进入浏览器并单击链接来访问Excel工作簿。

1 个答案:

答案 0 :(得分:0)

确定!我想我终于搞清楚了!

这里的罪魁祸首是mimeType。在我的机器上,我安装了MS Office 2010,而在我朋友的机器上,他有Office 365。

在我的C#代码中,我在mimeType = "Microsoft Office Excel 97-2003 Worksheet"内搜索mshtml.HTMLDocument,但它运行正常。现在,在我朋友的计算机上呈现的网页上搜索相同的mimeType会产生None。问题是XLS在计算机拥有Office 365时获得mimeType = "Microsoft Excel 97-2003 Worksheet",在旧版本的Office中获得mimeType = "Microsoft Office Excel 97-2003 Worksheet"