標題:
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 試試看
Option Explicit
Sub Ex()
Dim xlVbTable As Object, Ar, R As Integer, C As Integer
With CreateObject("InternetExplorer.Application")
.Visible = True
.Navigate "http://jsjustweb.jihsun.com.tw/z/ze/zeg/zeg_23.djhtm"
Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
Set xlVbTable = .document.getelementsbytagname("table")(27)
Ar = Split(xlVbTable.Rows(0).Cells(0).innerText, Chr(10))(1)
With ActiveSheet
.Cells(1, 1) = Mid(Ar, 1, InStr(Ar, ":"))
.Cells(1, 2) = Mid(Ar, InStr(Ar, ":") + 1, 6)
For R = 1 To xlVbTable.Rows.Length - 1
For C = 0 To xlVbTable.Rows(1).ALL.Length - 1
.Cells(R + 1, C + 1) = xlVbTable.Rows(R).Cells(C).innerText
Next
Next
End With
.Quit
End With
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網頁都可適用的
試試看
Option Explicit
Sub Ex()
With CreateObject("InternetExplorer.Application")
.Visible = True
.Navigate "http://jsjustweb.jihsun.com.tw/z/zk/zk3/zkparse_700_NA.djhtm"
Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
.ExecWB OLECMDID_SELECTALL, 1 '選取 網頁內容
.ExecWB OLECMDID_COPY, 0 '複製 網頁內容
With ActiveSheet '指定工作表
.Cells.Clear '清理 工作表
.[a1].Select
.Paste '貼上 網頁內容
.Pictures.Delete '清除 網頁圖片
.Cells.ClearFormats '清除 工作表圖片
.[a:b].Delete '刪除多餘的網頁內容
.[a1].Select
End With
.Quit
End With
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下,不會停頓在
Do While .ReadyState <> 4 '等待網頁開啟
DoEvents
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/)