Board logo

標題: Excel 外部網頁匯入不完整 [打印本頁]

作者: sleepycat    時間: 2012-8-25 17:59     標題: Excel 外部網頁匯入不完整

http://jsjustweb.jihsun.com.tw/z/ze/zeg/zeg_23.djhtm

在這邊有一些網頁   如果利用excel的外部網頁匯入的話
有些會出現股票名稱都消失的狀況  (圖例是行情表頁面)
[attach]12291[/attach]

想請問該如何才能夠讓所有資訊都完整匯入呢
謝謝回答
作者: chen_cook    時間: 2012-8-26 04:43

[attach]12293[/attach]回復 1# sleepycat


    爬文改用getweb方式抓....
作者: sleepycat    時間: 2012-8-27 02:14

回復 2# chen_cook

  感謝大大的回答
  非常抱歉   看到大大的提示我還是不太懂如何使用
  get web是VBA的語法嗎
  是否能夠再說明清楚一點
  謝謝協助
作者: GBKEE    時間: 2012-8-27 10:44

回復 3# sleepycat
用VBA 試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xlVbTable As Object, Ar, R As Integer, C As Integer
  4.     With CreateObject("InternetExplorer.Application")
  5.         .Visible = True
  6.        .Navigate "http://jsjustweb.jihsun.com.tw/z/ze/zeg/zeg_23.djhtm"
  7.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  8.         Set xlVbTable = .document.getelementsbytagname("table")(27)
  9.         Ar = Split(xlVbTable.Rows(0).Cells(0).innerText, Chr(10))(1)
  10.         With ActiveSheet
  11.             .Cells(1, 1) = Mid(Ar, 1, InStr(Ar, ":"))
  12.             .Cells(1, 2) = Mid(Ar, InStr(Ar, ":") + 1, 6)
  13.             For R = 1 To xlVbTable.Rows.Length - 1
  14.                 For C = 0 To xlVbTable.Rows(1).ALL.Length - 1
  15.                     .Cells(R + 1, C + 1) = xlVbTable.Rows(R).Cells(C).innerText
  16.                 Next
  17.             Next
  18.         End With
  19.        .Quit
  20.     End With
  21. End Sub
複製代碼

作者: funnydisk    時間: 2012-10-11 00:30

回復  sleepycat
用VBA 試試看
GBKEE 發表於 2012-8-27 10:44


請問GBKEE大大,是否所有的djhtm網頁都可適用呢,我將以上網址改成http://jsjustweb.jihsun.com.tw/z/zk/zk3/zkparse_700_NA.djhtm,就無法執行了?
作者: GBKEE    時間: 2012-10-11 08:40

回復 5# funnydisk
不是所有的djhtm網頁都可適用的
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     With CreateObject("InternetExplorer.Application")
  4.         .Visible = True
  5.        .Navigate "http://jsjustweb.jihsun.com.tw/z/zk/zk3/zkparse_700_NA.djhtm"
  6.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  7.         .ExecWB OLECMDID_SELECTALL, 1       '選取 網頁內容
  8.         .ExecWB OLECMDID_COPY, 0            '複製 網頁內容
  9.         With ActiveSheet                    '指定工作表
  10.             .Cells.Clear                    '清理 工作表
  11.             .[a1].Select
  12.             .Paste                          '貼上 網頁內容
  13.             .Pictures.Delete                '清除 網頁圖片
  14.             .Cells.ClearFormats             '清除 工作表圖片
  15.             .[a:b].Delete                   '刪除多餘的網頁內容
  16.             .[a1].Select
  17.         End With
  18.        .Quit
  19.     End With
  20. End Sub
複製代碼

作者: f3202    時間: 2017-6-18 10:53

回復 6# GBKEE

請問GBKEE大大
http://tcfhcsec.moneydj.com/z/ze/zef/zef.djhtm
這網頁用Excel 外部網頁匯入會不完整
用vba
Dim ie
Sheets("sheet2").Select
    Const url As String = "http://tcfhcsec.moneydj.com/z/ze/zef/zef.djhtm"     ' 正確的
    Cells.Delete '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
    Rows("1").Delete
    Columns("A:C").Delete    ' 將匯入時 A、B 兩欄移除, 原本 C:I 的欄位全部左靠, 成為 A:I
    ie.Quit
End Sub
則停在    Do While .ReadyState <> 4 '等待網頁開啟
出現
"執行階段錯誤80010108 automation錯誤用戶端中斷了已啟動物件的連線"
的錯誤
該如何修改程式
謝謝
作者: GBKEE    時間: 2017-6-18 15:11

回復 7# f3202
IE11,2010下,不會停頓在
  1. Do While .ReadyState <> 4 '等待網頁開啟
  2.         DoEvents
  3.         Loop
複製代碼
1:可能是Window上的暫存記意體龐大,拖慢IE下載速度.(清空你Window上的暫存記意體)
2: IE有問題( IE重設)
3:同時執行多的應用程式,拖慢IE的執行(關畢其它應用程式)
作者: f3202    時間: 2017-6-18 18:52

回復 8# GBKEE
excel 2007
已清空Window上的暫存記意體
重設 ie11
重新開機後即執行檔案
結果相同
碰到這網站執行時
.Visible = True或False 皆開啟ie
然後就出現錯誤
"執行階段錯誤80010108 automation錯誤用戶端中斷了已啟動物件的連線"
作者: 老夏    時間: 2017-8-6 05:59

本帖最後由 老夏 於 2017-8-6 06:10 編輯

把1.iqy搬入記事本
把a.htm搬入記事本
雙擊1.iqy
雙擊a.htm

打開web.xls>>縮小視窗>>搬入a.htm於WebBrowser1控制項內>>完工
[attach]27584[/attach]

[attach]27585[/attach]




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