Excel VBA操作网页 显示滚动进度条
这两天用Excel VBA实现了登入到网站,提交表单并将搜索结果写回Excel的功能。在写回结果之前同事显示滚动的进度条。
在Excel VBE界面,需要在reference中加入以下3个library
Microsoft Internet Controls
Microsoft HTML Object Library
Microsoft ActiveX Data Objects 2.8 Library
VBA代码如下:
Sub GoogleSearch() 'This project includes references to "Microsoft Internet Controls" and '"Microsoft HTML Object Library" and '"Microsoft ActiveX Data Objects 2.8 Library"
'Variable declarations Dim myIE As New InternetExplorer 'New ' Dim myURL As String Dim myDoc As HTMLDocument Dim strUsername As String Dim strPassword As String Dim strKw As String Dim strHtml As String
'Show process bar 'ShowProcessBar BeginProgress
'Set starting URL and login string Sheets("SearchForm").Select myURL = Range("B1").Value strUsername = Range("B2").Value strPassword = Range("B3").Value strSearch = Range("B5").Value
'Make IE navigate to the URL and make browser visible myIE.navigate myURL 'myIE.Visible = True
'Wait for the page to load Do While myIE.Busy Or myIE.readyState <> READYSTATE_COMPLETE PushProgress (1) DoEvents Loop
'Set IE document into object Set myDoc = myIE.document
'Enter search string on form myDoc.forms(0).q.Value = strSearch
'Submit form myDoc.f.submit
'Wait for the page to load Do While myIE.Busy Or myIE.readyState <> READYSTATE_COMPLETE PushProgress (1) DoEvents Loop
'Save html content to file and then copy data to Excel sheet strHtml = myDoc.documentElement.outerHTML
'Save html strFileUrl = ThisWorkbook.Path & "/searchResults.html" WriteStrToFile strHtml, strFileUrl, "UTF-8"
'Copy data from html file Workbooks.Open strFileUrl Selection.UnMerge Range("A1:L80").Select HtmlContentValue = Range("A1:L80").Value ActiveWorkbook.Close (False) ThisWorkbook.Activate Sheets("ResultsReports").Select Range("A1:L80").Value = HtmlContentValue Selection.UnMerge Range("A1:L80").Select
'MsgBox "End Search" 'myIE.LocationName 'Normally exit 'End progress bar Sheets("SearchForm").Select EndProgress Sheets("ResultsReports").Select myIE.Quit Set myIE = Nothing
End Sub
Private Sub WriteStrToFile(ByVal strText As String, ByVal strPath As String, ByVal strCharSet As String) 'Dim objText As New FileSystemObject 'Please add reference: Microsoft ActiveX Data Objects 2.8 Library Dim objText As New ADODB.Stream
objText.Type = adTypeText objText.Open objText.Charset = strCharSet objText.WriteText strText, adWriteChar objText.SaveToFile strPath, adSaveCreateOverWrite objText.Close Set objText = Nothing
End Sub
Private Sub BeginProgress() Range("C6").Value = 0 Range("D6").Value = 10000 'For j = 1 To Range("D6").Value ' Range("C6").Value = j 'Next jEnd Sub
Private Sub PushProgress(ByVal pushValue As Integer) Range("C6").Value = Range("C6").Value + pushValue If (Range("C6").Value = 9999) Then Range("C6").Value = 0 End IfEnd Sub
Private Sub EndProgress() Range("C6").Value = 10000 Range("D6").Value = 10000 'For j = 1 To Range("D6").Value ' Range("C6").Value = j 'Next jEnd Sub
效果图如下:
[img]http://joeykh.iteye.com/upload/picture/pic/38524/76c699ed-477a-311d-a216-f207a250e234.gif[/img]
关于滚动进度条的制作可参考
http://www.cnblogs.com/jinliangliu/archive/2006/07/15/451314.html
之前没玩过VB,觉得还挺有意思的。最后制成的Excel在附件中。
Excel VBA操作网页 显示滚动进度条相关推荐
- EXCEL装逼指南之动态进度条(项目经理必备技能)
EXCEL装逼指南之动态进度条(项目经理必备技能) 作为浪迹职场多年的混子(项目经理),是否常常对项目进度把控不利,汇报工作又含含糊糊让领导不知所以而经常惨遭领导羞辱,同事嘲笑? 那么如何做一份让领导 ...
- MFC创建处理中进度条,循环滚动进度条的方法
创建一个不显示实际进度的循环滚动进度条,类似于Windows XP启动界面的进度条 新建一个MFC项目TestProgress,编辑界面,添加一个进度条,两个按钮,实现点击start进度条循环滚动,点 ...
- python实现http下载文件-Python HTTP下载文件并显示下载进度条功能的实现
下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条. 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: im ...
- ksz9031 mmd读取不了_am335x开机不显示启动进度条,sdk最新的06.03
现在am335x开机不显示启动进度条,只有光标在闪,然后进入gui界面,rcS.d下面有脚本,S00psplash.sh,并且是链接到init.d/psplash.sh.里面的内容为: #!/bin/ ...
- ie 不执行回调函时_「Excel VBA操作IE篇」10分钟内设置完成,3句代码打开IE浏览器
大家好,我是咚腔! Excel VBA还可以 操作IE浏览器,有没有搞错? 没错,可以操作,而且非常好用.因为Excel有强大的数据分析功能. 这有什么关系?关系很大. 现在是数据时代,定期数据获取以 ...
- php 页面加载进度条,HTML5/CSS3 网页加载进度条的实现,下载进度条等经典案例
今天给大家带来一个比较炫的进度条,进度条在一耗时操作上给用户一个比较好的体验,不会让用户觉得在盲目等待,对于没有进度条的长时间等待,用户会任务死机了,毫不犹豫的关掉应用:一般用于下载任务,删除大量任务 ...
- 【Python学习】 - TensorFlow.keras 不显示epochs进度条的方法
一.概述 在我们使用TensorFlow进行神经网络的搭建时,难免遇到需要训练很多次来拟合数据的情况,假设需要拟合1000次数据,那么可能前800次的拟合效果都不是很好,所以显示进度条就会使得输出面板 ...
- (转)Excel VBA 操作 Word(入门篇)
原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人. 一.新建Word引用 需要首先创建一个对 Word App ...
- webview添加网页加载进度条
最近在android项目中使用webview嵌套了一个抽奖活动网页,活动上线,运行良好(改了N次需求和突发bug),还好这种模式的活动,只需要修改网页,不需要重新打包发布市场,这也是这种模式开发的优势 ...
- bootstrap 滚动 进度条_bootstrap实现动态进度条效果
Bootstrap的动态进度条: html: 创建一个modal 这里使用fade先将modal隐藏起来,然后modal里面嵌入progress 代码很简单 保存中:{{length}}% PS: ...
最新文章
- 【iOS基础知识】const与宏的区别
- 运营商线路细分_呼叫中心各种线路的区分
- jQuery四大选择器以及过滤选择器:的详解
- c/c++教程 - 2.4.2.6 初始化列表语法,初始化列表参数
- Go语言基础之10--面向对象编程2之方法
- linux下用户态程序coredump生成方法
- Axure工具概述以及Axure RP9的安装汉化和授权
- 怎么升级计算机的操作系统,电脑如何升级系统版本_Windows10/7电脑升级系统版本的操作步骤...
- Hadoop之纠删码
- 帧同步(LockStep)该如何反外挂 及 优化
- odb对象关系映射系统
- 数据库mongodb效率测试
- 组网方案设计,运用Mesh组网实现无缝漫游!
- 自动定时发送邮件的方法 —— 定时执行专家V6.8
- 羊毛大军杀入币圈,有人月入过万,有人惨遭反薅,沦为韭菜
- 电商网站如何推广自己呢?
- 什么是通过人工神经网络,感知机是什么神经网络
- 1985-2020年全球30米地表覆盖精细分类产品V1.0免费下载,内附链接
- 零基础入门推荐系统 - 新闻推荐-Task2 (DataWhale学习小组)
- 即将走出实验室的6大IT创新
热门文章
- 网络流24题 餐巾计划(费用流)
- 使用jquery处理多选框checkbox选中和未选中的值
- ewebeditor编辑器漏洞连接大马复现
- DDU(Display Driver Uninstaller) 18.0.3.5 显卡驱动彻底卸载清理工具,支持卸载NVIDIA, AMD, Intel
- 代理服务器和反向代理服务器
- 获取level2行情接口的功能详解
- 一位农村妇女被渣男抛弃之后,竟然……
- 工商管理专业知识与实务(初级)【10】
- 团队任务:第二次冲刺-第三组梦之队
- 项目管理计划Office Project 2013 日常使用