| 财经网站股票成交数据批量下载的VB实现 |
| 梁里宁 |
|
《软件报》2008年18期 邮发代号:61-74
现在参与炒股的朋友越来越多,其中有些还想自己编写公式或程序对股票成交的数据进行分析。股票成交数据能动态显示股票实时成交情况,有助于分析股票的未来走势。而新浪财经网站不仅能在线查询所有股票的实时行情,而且还提供了把成交数据下载成Excel文件的功能。如果只是单只股票的话,只需在新浪财经网站输入股票代码,然后选择成交数据下载即可。但如果需要连续多日多只股票批量下载,显然以上方法是行不通的。笔者特意用VB编写了一个小程序,能够实现新浪财经网站股票成交数据的自动批量下载,具体步骤如下:
1.新建两个文本文件SZStock.Txt和SHStock.Txt,把需要下载成交明细数据的深圳证券交易所和上海证券交易所的股票代码输入在这两个文件中,也可以直接在网上直接下载所有股票代码后转换到这两个文件中。
2.启动VB6.0,新建一个工程和窗体,添加所需控件。
3.输入代码
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Sub Check1_Click()
If Check1 Then
For i = 0 To List1.ListCount - 1
List1.Selected(i) = True ’全选
Next
Else
For i = 0 To List1.ListCount - 1
List1.Selected(i) = False ’全不选
Next
End If
End Sub
Private Sub Command1_Click() ’
List1.Clear
Check1.Value = False
StockCodeFile = App.Path & "\" & IIf(Option1, "SZStock.txt", "SHStock.txt")
Open StockCodeFile For Input As #1
Do While Not EOF(1)
Line Input #1, inputData ’导入股票代码
List1.AddItem inputData
Loop
Close #1
End Sub
Private Sub Command2_Click() ’下载
If List1.SelCount > 0 Then
MousePointer = vbHourglass
For i = 0 To List1.ListCount - 1
If List1.Selected(i) = True Then
Nametbl = Left(List1.List(i), 6) ’股票代码
strURL = "http://bill.finance.sina.com.cn/bill/trade_item_download.php?stock_code="
strURL = strURL & IIf(Option1, "sz", "sh") & Nametbl
’定义下载网址
fname = Text1 & "\" & Nametbl & "(" & Text2 & ")" & ".xls"
’定义保存文件
lngRetVal = URLDownloadToFile 0, strURL, fname, 0, 0 ’下载
If lngRetVal <> 0 Then
MsgBox "错误:未下载成功或文件不存在!"
Exit Sub
End If End If
Next
MousePointer = vbDefault
MsgBox "下载完成"
End If
End Sub
4.运行程序,在程序界面的列表框中选择单只或多只股票,即可自动在新浪财经网站上批量下载股票成交数据,数据以Excel文件的形式存放在所设定的数据路径中。
说明:程序中使用了Internet Explorer提供的URLDownLoadToFile函数,该函数的功能是实现文件的下载。使用URLDownLoadToFile函数非常简单,仅仅需要一个URL地址、一个文件名,剩下的工作全部由IE 来完成。这个函数可以由任何应用程序调用,在下载期间,
IE不会显示图形界面,通过其返回值是否为0可判断文件下载是否成功。
|
|
文章检索
编程>热门文章
|