在前面一篇文章中介绍了怎样在VBA中使用XMLHTTPRequest对象。其中需要查看源代码获取递交数据的字符串,有一些获取HTTP头部信息的工具可以帮助简化这个工作,这需要感谢FireFox以及一些附加组件的开发者,实现了在IE上面不能实现的功能(一直没有找到IE上相应的插件,以前找到一个很简单的插件,需要升级才可以浏览完整的信息)。
一直在用两个组件(当然你必须用FireFox才行),一个是Live HTTP Headers,另外一个是HttpFox。现在主要是用HttpFox。
安装好Live HTTP Headers组件后,从菜单“工具”中选择“Live HTTP Headers”,弹出窗口,选择“Capture”选择框,然后在FireFox执行你的操作,窗口中将会记录发送和接受到的HTTP头部信息。如图:

安装好HttpFox后,在FireFox状态栏的右下角出现HttpFox图标,点击该图标,打开HttpFox的界面。开始记录之前,单击“Start”按钮,执行网页操作,将记录所有的HTTP信息,包括头部信息、Cookie、请求字符串、Post数据以及返回内容。操作执行完毕后,单击“Stop”结束记录。如果:

VBA
HttpRequest, Tool, VBA
大家经常需要将网站上面的数据下载或导入到Excel中进行汇总分析,例如股票数据等,这样可以充分利用Excel强大的数据分析功能。在Excel中下载网页数据的方法有很多种,包括WebBrowser控件、控制IE、Web查询、API函数,这里主要介绍XML库的XMLHTTPRequest对象。
使用XMLHTTPRequest对象的好处是不需要打开浏览器而在后台下载数据,这样可以保持干净的界面,另外能够很方便的使用POST方法递交查询表单的数据,同时XMLHTTPRequest对象可以处理各种类型的数据,例如javascript数据、json数据、xml数据以及各种图像数据等,特别是对于一些Web服务,使用XMLHTTPRequest是很好的选择。但XMLHTTPRequest对象一定程度上依赖于网页的源代码,如果源代码发生变化,处理数据的方法也需要相应地做出改变。
在前面的文章中已经介绍过XMLHTTPRequest对象的方法和属性,这里主要介绍使用XMLHTTPRequest对象的一般流程,以新浪的天气预报查询做为例子。
阅读全文…
VBA
Excel, HttpRequest, VBA, XML
Excel中的图表可以嵌入到工作表中,也可以单独作为图表工作表存在。作为单独图表工作表存在的图表可以响应事件,如下图:

而嵌入到工作表中的图表包含在ChartObject中,不能响应事件。如果需要让嵌入图表响应事件,需要使用类模块来创建Chart对象。
下面介绍让嵌入图表响应事件的方法。
假设工作表Sheet1中已经存在一个散点图,图表中包括两个系列,如下图:

阅读全文…
VBA
Chart, Excel, VBA
最近发现Zoho Sheet中居然可以实现宏和数据透视表的功能,太厉害了。Google Sheet还没有这个功能。
在Zoho Sheet中新建一个工作表后,你可以在菜单栏上分别看到“宏”和“数据透视表”。菜单“宏”的子菜单分别由“新建宏”、“记录宏”、“运行宏”、“查看宏”、“VBA编辑器”和“帮助”,如下图:

点击“新建宏”,将弹出一个DIV层窗口,包括两个标签页“新建宏”和“宏列表”,如下图:

阅读全文…
VBA
VBA, Zoho
在前面的文章中下载天气预报信息使用XMLHTTPRequest对象。使用XMLHTTPRequest对象的好处是可以在后台下载网页数据,不需要启动浏览器程序,并且可以下载各种类型的网页内容,例如XML文档、Javascript数据以及图像文件等。
这里先介绍一下XMLHTTPRequest对象的方法和属性。
XMLHTTPRequest对象
XMLHTTPRequest对象提供客户端和HTTP服务器之间通讯的协议支持。
下面的Visual Basic例子创建一个XMLHTTP对象,并向服务器请求一个XML文档。服务器返回XML文档并在消息框中显示。
Dim HttpReq As New MSXML2.XMLHTTP30
HttpReq.open "GET", "http://localhost/books.xml", False
HttpReq.send
MsgBox HttpReq.responseText
一个客户机器可以使用XMLHTTP对象(MSXML2.XMLHTTP.3.0)发送一个任意HTTP请求,接收响应并使用Microsoft XML Document Object Model(DOM)解析响应。
这个对象集成到Microsoft XML Core Services(MSXML)中,支持直接从MSXML DOM对象发送请求主体,并直接在MSXML DOM对象中解析响应。
一般的使用顺序是:调用Open方法,通过setRequestHeader方法设置自定义头部信息,接着调用send方法,然后检查四个不同的响应属性中的一个。
阅读全文…
VBA
Excel, HttpRequest, VBA
最近评论