报错情况如下图
引用以下这位哥们的分析
http://blog.chinaunix.net/uid-7654720-id-1742038.html
“
1)在IE中直接输入链接的地址,可以正常浏览。然而,在excel中也不是所有链接都不能直接访问。结合这两点,网站服务器、IE、excel各自都没有问题,单独一点都没问题,那问题很有可能是发生在之间的“配合”问题。
2)开启电脑的“抓包”软件(我这里用的是Wireshark),之后在excel中点击不能访问的链接,看一个抓到的结果,客户机(我的电脑)与服务器建立三次TCP握手之后,客户机开始进行http请求,请求的header如下:
GET / HTTP/1.1
Accept:*/*
User-Agent:Mozilla/4.0(compatible;MSIE6.0;Windows NT 5.1;SVC1;CIBA; .NET CLR 2.0.50727)
Host:www.****.com
Connection:Keep-Alive
Cookie:**************
同时在IE中直接访问链接(http://www.****.com),用httpwatch抓包,(也可以再用抓包工具来抓包,这里用Httpwatch更方便一些,另外,在excel中直接打开链接在IE中用httpwatch直接是抓不到那个“有问题的”链接包的,因为不能在excel中通过点击链接打开IE窗口,所以上页的包一定要用抓包工具Wireshark来获取访问内容)。请求的header如下:
GET / HTTP/1.1
Accept:image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*
Accept-Encoding:gzip, deflate
Accept-Language:zh-cn
Connection:Keep-Alive
Cookie:**************
User-Agent:Mozilla/4.0(compatible;MSIE6.0;Windows NT 5.1;SVC1;CIBA; .NET CLR 2.0.50727)
这是可以访问的请求header,对比用“excel方式”的请求header。
主要是多了一个Accept-Language:zh-cn字段。
通过这一步,基本上已经看出一此问题所在,那么进行一下验证。
3)验证2)中的分析的所得的信息。
telnet www.****.com 80 ,之后用下面的header发送请求:
GET / HTTP/1.1
Host:www.****.com
结果是不能得到页面的内容。
再用下面的header发送请求
GET / HTTP/1.1
Accept-Language:zh-cn
Host:www.****.com
结果是可以得到正确的页面内容。
由些可以“推断出”:不能用excel直接用链接方式打开的链接,在服务器端WEB程序或是页面中字符编码设置的参数与excel中发送的请求,“不兼容”。
”
解决方案来自微软N久以前的Kb,白老板找到并测试可以解决
http://support.microsoft.com/kb/218153/en-us
注意:中文案例中的内容没有更新,注册表路径可能有误
解决方案中的Fixit工具对当前版本的office不适用,不过,手动修改的方法是正常的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\xx.0\Common\Internet
创建Dword值 ForceShellExecute 并设置为 1
Excel打开超链接提示无法打开http:/xxxx。无法下载您要求的信息。,布布扣,bubuko.com