Excel 2007 可以访问网络服务,特别是 Google Finance 或 Yahoo Finance 吗?
我希望我的工作簿能够自动从这两个网站更新股票/基金价格。
我知道您可以从网站导入表格(从 Web 导入数据),但这不能满足我的需求。Google 电子表格具有 GoogleLookup 功能,可以自动查找价格,但我更喜欢使用 Excel 来利用数据透视表、表格格式等。
如果没有,Excel 2010 有此功能吗?
答案1
这里是利用“Microsoft Office Soap Type Library v3.0”库所需的所有相关信息的链接。 单击此处获取详细文档。。这里还有一个示例,展示如何使用一些股票报价数据。
看起来你需要做一点 VBA 编程,但似乎有很多示例,甚至示例 Excel 工作簿可供下载。
享受!
答案2
完全可以通过 VBA 实现。
Dim objHttp As Object, strURL as string, strText as string
Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")
strURL = "http://www.google.com/finance?q=NASDAQ%3AMSFT"
objHttp.Open "GET", strURL, False
objHttp.setRequestHeader "User-Agent", _
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHttp.Send ("")
strText = objHttp.responseText
'And this is where you parse apart the strText
'(effectively the HTML of the site) to locate your relevant data
Set objHttp = Nothing
答案3
编辑:这仅适用于 Excel 2003(尽管它也需要安装插件)
是的,可以。您需要在 VBA 中激活它们。
- 打开 Visual Basic 编辑器 (Alt + F11)
- 点击“工具”>“参考”
- 在出现的列表中,找到名为“Microsoft Office Soap Type Library v3.0”的组件并选中它
- 点击确定,组件安装完成。
要生成访问 Web 服务的方法,您需要在工具中的“Web 服务参考”菜单项中指定定义文件 (wsdl),该文件应在之后出现。
要真正访问数据,您将需要 VBA 编程,我邀请您在我们专门讨论编程问题的姊妹网站上询问更多有关它的问题,堆栈溢出。
好的,这个方法在 Excel 2003 中有效,但现在似乎不再推荐使用这种方法了。我也找不到我告诉你的菜单。我提到的库可能是出于兼容性原因而使用的。
现在我能找到的就是从 Visual Studio 2008 中执行或者关注 Stack Overflow 上的更多指南问题。