在应用程序中,我使用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工作簿。
答案 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"
。