Board logo

標題: 請問 call 的問題 [打印本頁]

作者: wufonna    時間: 2013-9-4 13:06     標題: 請問 call 的問題

請問上式可執行改為下面的call就不能,謝謝
必須是常式運算式
--------------------------------------------------
引用 [發問] 求助~一個用VBA從網頁取得想要資料的寫法~


'Private Sub CommandButton1_Click()
'    ' Const url As String = "http://jsjustweb.jihsun.com.tw/z/zc/zck/zck_6257.asp.htm"
'    Const url As String = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=2002&name1=D4&index1=12"     ' 正確的
'
'    Cells.Clear
'
'    Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"
'
'    With ie
'        .Visible = False 'True為開啟ie, False為不開啟ie
'        .Navigate url
'        Do While .ReadyState <> 4 '等待網頁開啟
'        DoEvents
'        Loop
'        .ExecWB 17, 2 'Select All
'        .ExecWB 12, 2 'Copy selection
'        Range("A1").Activate
'        ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
'            False, NoHTMLFormatting:=True
'    End With
'
'    Columns("A:B").Delete    ' 將匯入時 A、B 兩欄移除, 原本 C:I 的欄位全部左靠, 成為 A:I
'    ie.Quit
'    MsgBox "資料複製結束"    ' 離開前顯示一小視窗提醒,按它後即結束。
'End Sub



Private Sub test2(ByVal ss As String)
    ' Const url As String = "http://jsjustweb.jihsun.com.tw/z/zc/zck/zck_6257.asp.htm"
    Const url As String = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=" & ss & "&name1=D4&index1=12"     ' 正確的

    Cells.Clear

    Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"

    With ie
        .Visible = False 'True為開啟ie, False為不開啟ie
        .Navigate url
        Do While .ReadyState <> 4 '等待網頁開啟
        DoEvents
        Loop
        .ExecWB 17, 2 'Select All
        .ExecWB 12, 2 'Copy selection
        Range("A1").Activate
        ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
            False, NoHTMLFormatting:=True
    End With

    Columns("A:B").Delete    ' 將匯入時 A、B 兩欄移除, 原本 C:I 的欄位全部左靠, 成為 A:I
    ie.Quit
    MsgBox "資料複製結束"    ' 離開前顯示一小視窗提醒,按它後即結束。
End Sub

Sub test2_1()
Call test2("2002")
End Sub
作者: wufonna    時間: 2013-9-4 13:37

報歉,沒看清楚,可以了,謝謝

Private Sub test2(ByVal ss As String)
Dim rr As String
rr = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=" & ss & "&name1=D4&index1=12"
    ' Const url As String = "http://jsjustweb.jihsun.com.tw/z/zc/zck/zck_6257.asp.htm"
    'Const url As String = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Ficxxx\&stockid=" & ss & "&name1=D4&index1=12"     ' 正確的

    Cells.Clear

    Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"

    With ie
        .Visible = False 'True為開啟ie, False為不開啟ie
        .Navigate rr
        Do While .ReadyState <> 4 '等待網頁開啟
        DoEvents
        Loop
        .ExecWB 17, 2 'Select All
        .ExecWB 12, 2 'Copy selection
        Range("A1").Activate
        ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
            False, NoHTMLFormatting:=True
    End With
Debug.Print rr
   Columns("A:B").Delete    ' 將匯入時 A、B 兩欄移除, 原本 C:I 的欄位全部左靠, 成為 A:I
    ie.Quit
    MsgBox "資料複製結束"    ' 離開前顯示一小視窗提醒,按它後即結束。
End Sub

Sub test2_1()
Call test2("2412")
End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)