Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access365/SharePoint/互联网

VBA 清除 IE 缓存 - WebBrowser控件开发者必杀技!

时 间:2012-12-05 11:30:31
作 者:dbaseIIIer   ID:22003  城市:深圳
摘 要:又被人烦透了!这几天是不是天气问题?大家都用WebBrower控件来开发后,都被用户没有清除缓存而获得很多麻烦了?大伙儿都在请教我这个问题的!我先放这里大家看吧!看不懂再在群内(178517871)找师兄们,谢谢!
正 文:

的确。在百度搜过 “vba 清除 ie 缓存”。 不果。那我只好空开一下标准的方法了。


其实,我们制作 Access 应用,或者 VBA 应用,好多时候是需要在网络上存取一些不是保存在 Accdb 或 自己设计的数据库内的。通过 http 传递,我们可以创造不同的应用,包括:


1. Access (Office) 内

  • 抓取网页,
  • 获取总公司数据,
  • 监测信息网更新,

2. 开发 前后端连接的 平台级应用,如

  • 打码平台
  • Access 往公司里的 Web版OA里,自动登入,自动提取数据等操作
  • Access 作为本地化的 网站后台客户端

3. 开发VBA特种软件的远程操作,如 AutoCAD,CorelDraw,Visio 等

  • 通过远程获取图库,
  • 调用 js 获取算法的更新、动态服务器的ip地址,
  • js 调用 VBA 执行 Application 内代码
  • 或者把隐秘代码放在 js 里运行(本机永远没有保存),


WebBrowser 控件的确让我们偷了很多懒的方法!(怎样使用,就看其他版主的帖了!)  

  1. 我们可以偷懒不用做界面,直接用html结果就好了!
  2. 然后又可以调用 DOM 结构去解析文件!
  3. 最好还是可以网全世界任何一个 http端提取数据!

当然,如果通信协议,和数据格式都是封闭式的,都是自己人定义的话,我还是建议使用 json 联系,好处是:

  1. 数据流量,内存耗用,一定比 WebBrower 低,甚至数据流量会比XML还低!
  2. 用标准的 json类操作,让你的 VBA 马上有 多层级的数据架构,也有超快速的文本解析器!
  3. 加上 xmlhttp 的应用(十几年前的 2.6版-到近代好几年没有更新过的6.0)都已经能直接跟 java 服务器,php服务器,js 客户端,as3客户端 直接 交流!



言归正传,用了 WebBrowser 控件打开外面世界的页面,我们就需要清楚缓存了!方法很简单:


Sub Clear_Temp_Files()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 "
End Sub

Sub Clear_Cookies()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2"
End Sub

Sub Clear_History()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1"
End Sub

Sub Clear_Form_Data()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16"
End Sub

Sub Clear_Saved_Passwords()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32"
End Sub

Sub Clear_All()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255"
End Sub

Sub Clear_Clear_Add_ons_Settings()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351"
End Sub


使用的时候记得适当的处理,不要把需要的 Cookie 都删掉!


或者一次性执行都可以:


Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1 "
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 "
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 "
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16 "
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32 "
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 "
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351 "
有了这个清除缓存的方法,也许你接到 使用WebBrower控件的用户给你的电话都少很多了!


开发者你们好,这是地球信息思维开发者 dbaseIIIer (QQ325613888) 

更多的 Access/VBA 互联网交互技术,可以参考 Accessoft.com 内部栏目  互联网技术栏目

更多的思维在  新浪微博   Access贴吧  VisualPHP贴吧




Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助