这两天用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操作网页 显示滚动进度条相关推荐

  1. EXCEL装逼指南之动态进度条(项目经理必备技能)

    EXCEL装逼指南之动态进度条(项目经理必备技能) 作为浪迹职场多年的混子(项目经理),是否常常对项目进度把控不利,汇报工作又含含糊糊让领导不知所以而经常惨遭领导羞辱,同事嘲笑? 那么如何做一份让领导 ...

  2. MFC创建处理中进度条,循环滚动进度条的方法

    创建一个不显示实际进度的循环滚动进度条,类似于Windows XP启动界面的进度条 新建一个MFC项目TestProgress,编辑界面,添加一个进度条,两个按钮,实现点击start进度条循环滚动,点 ...

  3. python实现http下载文件-Python HTTP下载文件并显示下载进度条功能的实现

    下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条. 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: im ...

  4. ksz9031 mmd读取不了_am335x开机不显示启动进度条,sdk最新的06.03

    现在am335x开机不显示启动进度条,只有光标在闪,然后进入gui界面,rcS.d下面有脚本,S00psplash.sh,并且是链接到init.d/psplash.sh.里面的内容为: #!/bin/ ...

  5. ie 不执行回调函时_「Excel VBA操作IE篇」10分钟内设置完成,3句代码打开IE浏览器

    大家好,我是咚腔! Excel VBA还可以 操作IE浏览器,有没有搞错? 没错,可以操作,而且非常好用.因为Excel有强大的数据分析功能. 这有什么关系?关系很大. 现在是数据时代,定期数据获取以 ...

  6. php 页面加载进度条,HTML5/CSS3 网页加载进度条的实现,下载进度条等经典案例

    今天给大家带来一个比较炫的进度条,进度条在一耗时操作上给用户一个比较好的体验,不会让用户觉得在盲目等待,对于没有进度条的长时间等待,用户会任务死机了,毫不犹豫的关掉应用:一般用于下载任务,删除大量任务 ...

  7. 【Python学习】 - TensorFlow.keras 不显示epochs进度条的方法

    一.概述 在我们使用TensorFlow进行神经网络的搭建时,难免遇到需要训练很多次来拟合数据的情况,假设需要拟合1000次数据,那么可能前800次的拟合效果都不是很好,所以显示进度条就会使得输出面板 ...

  8. (转)Excel VBA 操作 Word(入门篇)

    原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人. 一.新建Word引用 需要首先创建一个对 Word App ...

  9. webview添加网页加载进度条

    最近在android项目中使用webview嵌套了一个抽奖活动网页,活动上线,运行良好(改了N次需求和突发bug),还好这种模式的活动,只需要修改网页,不需要重新打包发布市场,这也是这种模式开发的优势 ...

  10. bootstrap 滚动 进度条_bootstrap实现动态进度条效果

    Bootstrap的动态进度条: html: 创建一个modal   这里使用fade先将modal隐藏起来,然后modal里面嵌入progress 代码很简单 保存中:{{length}}% PS: ...

最新文章

  1. 【iOS基础知识】const与宏的区别
  2. 运营商线路细分_呼叫中心各种线路的区分
  3. jQuery四大选择器以及过滤选择器:的详解
  4. c/c++教程 - 2.4.2.6 初始化列表语法,初始化列表参数
  5. Go语言基础之10--面向对象编程2之方法
  6. linux下用户态程序coredump生成方法
  7. Axure工具概述以及Axure RP9的安装汉化和授权
  8. 怎么升级计算机的操作系统,电脑如何升级系统版本_Windows10/7电脑升级系统版本的操作步骤...
  9. Hadoop之纠删码
  10. 帧同步(LockStep)该如何反外挂 及 优化
  11. odb对象关系映射系统
  12. 数据库mongodb效率测试
  13. 组网方案设计,运用Mesh组网实现无缝漫游!
  14. 自动定时发送邮件的方法 —— 定时执行专家V6.8
  15. 羊毛大军杀入币圈,有人月入过万,有人惨遭反薅,沦为韭菜
  16. 电商网站如何推广自己呢?
  17. 什么是通过人工神经网络,感知机是什么神经网络
  18. 1985-2020年全球30米地表覆盖精细分类产品V1.0免费下载,内附链接
  19. 零基础入门推荐系统 - 新闻推荐-Task2 (DataWhale学习小组)
  20. 即将走出实验室的6大IT创新

热门文章

  1. 网络流24题 餐巾计划(费用流)
  2. 使用jquery处理多选框checkbox选中和未选中的值
  3. ewebeditor编辑器漏洞连接大马复现
  4. DDU(Display Driver Uninstaller) 18.0.3.5 显卡驱动彻底卸载清理工具,支持卸载NVIDIA, AMD, Intel
  5. 代理服务器和反向代理服务器
  6. 获取level2行情接口的功能详解
  7. 一位农村妇女被渣男抛弃之后,竟然……
  8. 工商管理专业知识与实务(初级)【10】
  9. 团队任务:第二次冲刺-第三组梦之队
  10. 项目管理计划Office Project 2013 日常使用