標題:
[發問]
[發問]如何更改連結網址成變數?
[打印本頁]
作者:
水元素
時間:
2013-1-22 17:35
標題:
[發問]如何更改連結網址成變數?
各位前輩,希望不吝賜教!!謝謝
說明
利用表單連結到指定網址
擷取所有內容後加以計算。
資料為
http://www.google.com/finance/historical?q=TPE%3A1101&start=0&num=200
疑問點
1.如何將網址裡的1101更改成變數,可以由儲存格來更動??
2.亦或此網址無法做變數更動,要另外方法來擷取表單??
原始碼
Sub Stock_Data()
Dim STK_NO As String
STK_NO = 1101 'Sheets("Result").Cells(3, "B")
If STK_NO = "" Then Exit Sub
Const url As String = "http://www.google.com/finance/historical?q=TPE%3A&STK_NO&start=0&num=200"
Cells.Clear
Application.DisplayStatusBar = True
Application.ScreenUpdating = False
Set ie = CreateObject("internetexplorer.application")
With ie
.Visible = False
.Navigate url
Do While .ReadyState <> 4
DoEvents
Loop
.ExecWB 17, 2
.ExecWB 12, 2
Sheets("Data").Range("B7").Activate
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
False, NoHTMLFormatting:=True
End With
Range("B7:G51,B252:G275").delete Shift:=xlUp
ie.Quit
End Sub
複製代碼
作者:
oobird
時間:
2013-1-22 21:12
Sub Stock_Data()
Dim STK_NO As String, url As String
STK_NO = Sheets("Result").Cells(3, "B")
If STK_NO = "" Then Exit Sub
url = "http://www.google.com/finance/historical?q=TPE%3A" & STK_NO & "&start=0&num=200"
'Cells.Clear
Application.DisplayStatusBar = True
Application.ScreenUpdating = False
Set ie = CreateObject("internetexplorer.application")
With ie
.Visible = False
.Navigate url
Do While .ReadyState <> 4
DoEvents
Loop
.ExecWB 17, 2
.ExecWB 12, 2
Application.Goto Sheets("Data").Range("B7")
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
False, NoHTMLFormatting:=True
End With
Range("B7:G51,B252:G275").Delete Shift:=xlUp
ie.Quit
End Sub
複製代碼
作者:
水元素
時間:
2013-1-23 10:22
回復
2#
oobird
謝謝大大的幫忙,目前問題已解決。
小的核對程式上的差別還有一些問題想請教,希望不吝賜教!!!謝謝
1.將連結網址部分改成" & STK_NO & ",小的昨天有嘗試過,卻只得到很少部分又不完整網頁資訊,
核對了程式上的差別,發現大大有定義 url As String,
請問為何增加這定義即可擷取完整資訊??又為何在別的網頁不需定義也可以使用??
2. Application.Goto Sheets("Sheet2").Range("B7") 這段跟我原先的 Sheets("Sheet2").Range("B7"). Activate
差別在哪裡??我有去查F1說明不太了解,可否解釋一下。.
作者:
oobird
時間:
2013-1-23 13:33
1.你是用"Const url As String ="方式宣告url為字符型態,這適合用在常量宣告,不能用在變量。
2.原先的 Sheets("Sheet2").Range("B7"). Activate必須在當前工作表為"Sheet2"時才能有效的到range("b7"), 若不在這個表就必須寫兩行,先到sheet2, 再到b7. 改為Application.Goto Sheets("Sheet2").Range("B7")是為了一行到位。
作者:
oobird
時間:
2013-1-23 13:33
1.你是用"Const url As String ="方式宣告url為字符型態,這適合用在常量宣告,不能用在變量。
2.原先的 Sheets("Sheet2").Range("B7"). Activate必須在當前工作表為"Sheet2"時才能有效的到range("b7"), 若不在這個表就必須寫兩行,先到sheet2, 再到b7. 改為Application.Goto Sheets("Sheet2").Range("B7")是為了一行到位。
作者:
水元素
時間:
2013-1-23 14:38
回復
5#
oobird
真的非常感謝大大~
讓我清楚明白錯誤點!!!!:)
有恍然大悟的感覺~謝謝
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)