王朝网络
分享
 
 
 

使用Excel VBA来访问WEB页面

王朝vb·作者佚名  2006-12-16
宽屏版  字体: |||超大  

以前有过一个VB用户他想知道如何能在一个Excel电子数据表中自动打开一个URL链接以及怎样才能在其中复制信息。他注意到在他的应用程序有一些特征可以使这个问题简单化,“当我在Excel中打开URL链接的时候,我所需要提取的信息通常都位于相同的单元格中。例如,Sheet3中的单元格G13将会总是显示客户的名字”。同时他也注意到他的应用程序可能引用了数以千计的WEB页面,所以,性能也是一个值得关注的问题。

注意:上面实例中的图片是以Excel 2003中的VBA开发的。在VB 6中实现,使用VB的三层架构而不是VB.NET。测试工作已经完成以确保程序代码能够兼容于Excel 2003中的VBA,但是仍然可能有一些兼容性的BUG存在。

准备开始实现这个项目的一个方法就是在Excel中记录几个宏(Macro)并且查看Excel生成的这些代码是如何来解决这些问题的。所以,为了这样做,我首先创建一个Excel电子数据表格并且其中包含有一些测试用的实例数据,而且需要手工完成选择这些实例数据的操作。以下这段代码就是被Excel所记录下来的:

Sub Macro1()

Range("A2").Select

Selection.Hyperlinks(1).Follow _

NewWindow:=False, AddHistory:=True

Sheets("ResultsReports").Select

Range("A2").Select

ActiveSheet.Paste

End Sub

这看起来很好,除了我们在这段代码里面还没有加入从Web页面选择文本的操作之外。当然,这个操作不会被记录,这是因为Excel它只能记录数据表的操作。所以,通常我们没有办法直接从Web页面上查找我们所需要的数据。但就象我们在文章以后部分将要看到的那样,这事实上是可以的。为了完成这件事,你可以将Internet Explorer浏览器载入成为一个对象,然后查找在Web页面上你所需要的任何文本。在开始阅读后面部分的文章之前,我们假设你还不知道有关使用这个方法的一些事情。我们需要一个更好的方法来完成这个任务。

如果你将Web页面打开为一个数据表的形式,Excel它将会自动的将Web页面导入到你的本地工作簿中,然后你就可以查找其中的内容,并且甚至可以记录在其中的操作。让我们来尝试做一下。这里有一个窍门就是在你尝试打开Web页面之前,你要记住将URL复制到剪贴板中的名字。Excel它没有一个直接的方法可以将Web页面打开成为一个文件。所以你必须首先将Web页面的URL地址复制到剪贴板中,然后将其粘贴到Excel的打开对话框中。

第二个窍门是你要意识到Excel它会自动的将我们所查找的Web页面中的文章名字复制到数据表格中的单元格中。Excel它会通过复制在HTML文档中表格的格式来完成这件事。所以我们需要分离这些单元格并且通过重新选择真正位于这些单元格中的数据来复制我们想要的数据。

一旦我们注意到以上这些窍门后,我们就可以得到以下所列出的这些结果:

Sub Macro1()

Range("A2").Select

Selection.Copy

Application.CutCopyMode = False

Workbooks.Open Filename:= _

"http://visualbasic.about.com/library/bldykblkscpa.htm"

Range("B10:C10").Select

With Selection

.HorizontalAlignment = xlGeneral

.VerticalAlignment = xlBottom

.WrapText = True

.Orientation = 0

.AddIndent = False

.IndentLevel = 1

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = True

End With

Selection.UnMerge

Range("B10").Select

Selection.Copy

ActiveWorkbook.Close

Sheets("ResultsReports").Select

Range("A2").Select

ActiveSheet.Paste

End Sub

这样看起来更好了。我们就可以使用这个来完成工作。现在我们就可以在其中加入某些所需要的循环逻辑来完成这个程序了。最后我们所看到的结果已经展示在文章最前面的图片中了。下面就是生成这些结果的一些代码:

Sub CopyWebData()

'

' CopyWebData Macro

'

Dim InCellLoc As String

Dim InCellCol As String

Dim InCellRow As String

Dim NameValue As String

Dim AddressValue As String

Dim OutCellLoc As String

Dim OutCellCol As String

Dim OutCellRow As String

InCellCol = "B"

InCellRow = "2"

OutCellRow = "1"

InCellLoc = InCellCol & InCellRow

Sheets("WebAddresses").Select

Do While Range(InCellLoc).Value <> ""

Sheets("WebAddresses").Select

Workbooks.Open Range(InCellLoc).Value

Range("B10:C10").Select

Selection.UnMerge

ArticleNameValue = Range("B10").Value

ActiveWorkbook.Close (False)

Windows("Start.xls").Activate

Sheets("ResultsReports").Select

OutCellRow = CStr(CInt(OutCellRow) + 1)

OutCellCol = "A"

OutCellLoc = OutCellCol & OutCellRow

Range(OutCellLoc).Value = ArticleNameValue

Sheets("WebAddresses").Select

InCellRow = CStr(CInt(InCellRow) + 1)

InCellLoc = InCellCol & InCellRow

Loop

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有