excel宏根据表格自动计算机,使用VBA从Excel电子表格自动执行Internet Explorer会话 | MOS86...

它与Windows集成后,可以使用任何支持它的应用程序(例如Word,Outlook或Excel)中的Visual Basic for Applications(VBA)脚本,以多种令人惊讶的方式控制Internet Explorer。

立即解锁免费的“基本Excel公式”备忘单!

这将使您注册我们的新闻通讯

VBA自动化,特别是直接自动化IE之类的浏览器,正如您将在本文中看到的,正是将VBA从便捷的编程脚本提升为强大的自动化语言的一种方式。 之所以如此出色,是因为创建许多带有控件或对象的应用程序的目的仅仅是为了让您使用VBA编程语言将其集成到其中。

这些年来,我们已经向您展示了如何使用VBA做一些非常酷的事情。例如,您可以使用它直接在Excel内部发送电子邮件如何使用VBA脚本从Excel电子表格发送电子邮件如何使用VBA脚本从Excel电子表格发送电子邮件我们的代码模板将帮助您使用协作数据对象从Excel内部设置自动电子邮件(CDO)和VBA脚本。阅读更多,您可以自动将Outlook任务导出到Excel电子表格如何使用VBA将Outlook任务导出到Excel如何使用VBA将Outlook任务导出到Excel无论您是否是Microsoft的粉丝,这都是一件好事关于MS Office产品,至少可以说,将它们彼此集成是多么容易。...阅读更多,您甚至可以设计自己的Internet浏览器如何使用VBA制作自己的基本Internet浏览器使用VBA制作自己的基本Internet浏览器当您真正停止思考时,最简单形式的Internet浏览器并不是给人印象深刻的应用程序。我的意思是,是的,按任何人的标准,互联网都是令人惊叹的。链接的概念...阅读全文!也不只是微软产品。从Adobe Acrobat SDK到用于AutoCAD的ObjectARX SDK,各种各样的供应商提供了第三方应用程序,它们已经将VBA和兼容的对象集成到了他们的软件中,您可以通过多种方式插入比您想象的更多的应用程序。

在这种情况下,您将要连接Excel与IE。 为什么是IE? 由于Internet Explorer已与操作系统很好地集成在一起,因此您实际上无需做很多事情就可以在Word或Excel等其他Microsoft产品中开始在VBA中使用IE自动化。 这就是in的美。在本文中,您将看到这种自动化是如何工作的,在以后的文章中,您将看到如何使用其他浏览器执行几乎相同的操作。

我在这里向您展示的是一个看似简单的应用程序,但是它具有大量的应用程序,您可以在其中使用此代码在浏览器中进行各种有趣的操作。 最重要的是,您将要创建一个Excel电子表格,以便通过单击一下按钮快速保存所有打开的浏览器窗口。 您可以保存此电子表格,然后走开或关闭计算机。

一小时或三天后回来,打开电子表格,单击另一个按钮,那些保存的URL将在与以前相同的选项卡中重新打开。 显而易见,很酷的用法是在Excel中存储整个常见的在线工作区设置库。 然后,您只需单击一下按钮即可还原该工作空间,而不必再次查找所有这些URL。

首先要做的是打开Excel(在使用VBA编程时,我使用的是2013其他版本类似),然后转到“开发人员”菜单项。 在其中,您会看到一个插入按钮,该按钮会下拉所有控件。 选择ActiveX按钮控件并将其放置在电子表格中。

据推测,如果需要,您已经为URL创建了标头,但不必这样做。 这实际上是一个URL存储库,因此标头并不重要。 添加按钮后,双击它打开VBA编辑器。 在左下方,您将看到新按钮的属性。

将其重命名为cmdSaveURLs,然后将标题设置为Save URLs,以指示这是从IE浏览器保存所有打开的URL的按钮。

接下来,转到VBA编辑器顶部的“工具”菜单,单击菜单中的“引用”,然后向下滚动很长的列表以查找Microsoft Internet Controls引用。 单击其左侧的复选框,然后单击“确定”。

现在您可以开始滚动了。 在编辑器文本区域中,您应该看到一行读取了Private Sub cmdSaveURLs_Click()的行。 如果看不到,请单击文本区域上方的左下拉框,然后在列表中找到cmdSaveURLs。 选择它,它将为您创建Click()函数。

这是您要插入该函数的代码:

im IE作为ObjectDim shellWins作为新ShellWindowsDim IE_TabURL作为StringDim intRowPosition作为IntegerintRowPosition = 2对于shellWinsIE_TabURL = IE.LocationURLIf IE_TabURL <> vbNullString ThenSheet1.Range(“ IE_Tab = 1 IETabs> Microsoft脚本运行时参考使其无所不能,因此您可以访问ShellWindows对象,该对象使您可以遍历Windows并找到已打开的IE实例。 该脚本将找到您打开的每个URL,并将其写入Excel电子表格。

因此,从理论上讲,如果您正在从事博客之类的工作,并且打开了一些项目,例如研究窗口,博客编辑器或日历窗口,那么所有这些选项卡都将处于活动状态。 如果您必须关闭或匆忙离开,则通过复制所有这些URL来保存您的位置可能是非常痛苦的。

使用新的Excel脚本,只需单击“加载URL”按钮,它将直接将其加载到电子表格中。

一个警告。 如果您不使用标题行,则需要将行intRowPosition = 2更改为intRowPosition = 1,这将从第一行开始,而不是跳过标题行。

该项目的下一个阶段是朝另一个方向发展。 单击“加载URL”,并让Excel启动IE,然后重新加载您已保存在电子表格中的所有URL。 这是cmdLoadURLs_Click()函数的外观。

昏暗的IE作为ObjectDim的ShellWins作为新的ShellWindowsDim IE_TabURL的StringDim intRowPosition的IntegerintRowPosition = 2Set IE = CreateObject(“ InternetExplorer.Application”)IE.Visible = TrueIE.Navigate Sheet1.Range(“ A”&intRowPosition.sintBowPosition)While 1虽然Sheet1.Range(“ A”和intRowPosition)<> vbNullStringIE.Navigate Sheet1.Range(“ A”和intRowPosition),CLng(2048)同时IE.BusyDoEventsWendintRowPosition = intRowPosition = intRowPosition + 1Wending这里是步骤,但是IE = No 您会看到代码并不那么长或太复杂。 您创建一个新的IE实例,使其可见(这将打开IE而不加载URL)。 接下来,它将加载列表中的第一个URL。

脚本的While IE.Busy部分将等到页面完全加载后,再转到电子表格中的其余URL,打开一个新标签页(这就是CLng(2048)的作用,直到它被点击 电子表格中的空白单元格,则它将停止打开新标签页。这是我的IE浏览器,使用Excel IE自动化脚本恢复了所有四个原始标签页。

我这样做的真正目的是让各个电子表格设置选项卡集合,以完成诸如在我自己的博客上进行研究和写作,在MakeUseOf上写作,在网站上进行SEO项目工作或需要其他角色或项目的完整列表之类的任务 经常使用的选项卡的已保存集合。

使用电子表格存储这些设置并自动在浏览器中打开它们可以节省大量时间,而且实际上也很酷。

您在VBA应用程序中使用任何类型的IE自动化吗? 从Excel中看到这种IE控件还有其他不错的用法吗? 在下面的评论部分中分享您的想法和反馈!

探索更多有关:计算机自动化,Microsoft Excel,电子表格。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值