作者anianiani (ㄚ尼(Ani))
看板Office
標題[算表] excel VBA 下載網頁 會清空ACTIVESHEET
時間Thu Aug 23 17:53:51 2018
軟體:EXCEL
版本:2016
大家好,這問題我卡住好久,先感謝各位大神。
問題: 這支EXCEL 下載網頁資料下來 在更新過程中會清空ACTIVESHEET
導致我觸發按鈕一起被清空 下一次更新時候 還要拉一個新按鈕
很不方便。
如圖1:
https://imgur.com/cJKagy8
程式碼:
======================================================================
Private Sub CommandButton1_Click()
Dim IE As New InternetExplorer, URL As String, A As Object
'宣告 Dim ie As New InternetExplorer
'須在工具-> 設定引用項目加入 新增引用 Microsoft Internet Controls
URL = "
https://fund.bot.com.tw/z/ze/zeb/zeb.djhtm"
With IE
.Navigate URL
.Visible = True
Do While .Busy Or .ReadyState <> 4: Loop
Set A = .Document.getElementsByTagName("TABLE")
Ep A(2).outerHTML
.Quit
End With
End Sub
Sub Ep(S As String)
Dim D As New DataObject
'DataObject 物件 在進行轉換動作時,做為格式化文字資料的暫存區域。其也可以
暫存和儲存在 DataObject 的文字片段相關的格式。
'宣告 Dim D As New DataObject
'須在工具-> 設定引用項目加入 新增引用 Microsoft Forms 2.0 Object Library ,
專案 加入一表單即可
With D
.SetText S
.PutInClipboard
With ActiveSheet
.UsedRange.Clear
.Paste .[C1]
.Shapes.SelectAll
Selection.Delete
.Hyperlinks.Delete
End With
End With
End Sub
==============================================================================
如圖2:程式跑完 他會清空按鈕
https://imgur.com/zsMKKUg
目前猜測應該是.UsedRange.Clear 清空整個頁面,
有沒有方法,可以保留按鈕,讓我下一次還能藉由按鈕執行下載網頁功能。
感謝各位細心看完!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.28.156
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1535018033.A.726.html
1F:→ anianiani: 圖片好像貼錯順序了! 各位見諒... 08/23 17:55
2F:→ soyoso: 不要用shapeselectall,改以迴圈於shapes的集合 08/23 17:58
3F:→ soyoso: 判斷name不為CommandButton1再delete 08/23 17:58
4F:→ soyoso: 如不以迴圈,而以原巨集shapes.selectall的話 08/23 18:08
5F:→ soyoso: 可先將commandbutton1先隱藏visible為假false 08/23 18:08
6F:→ soyoso: delete後再為真true 08/23 18:08
7F:→ soyoso: 因有可能會出要求的圖案已鎖定供選取或 08/23 18:08
8F:→ soyoso: 物件不支援此屬性或方法的錯誤訊息 08/23 18:08
9F:→ soyoso: 於delete前可先以on error resume next 08/23 18:08
10F:→ anianiani: 感謝soyoso大的回覆 恕小弟不才 以迴圈於shapes的集合 08/27 09:23
11F:→ anianiani: 不太明白 我才剛接觸沒多久 08/27 09:24
12F:→ soyoso: for each..next迴圈於shapes集合 08/27 09:25
13F:→ anianiani: 感謝soyoso大 成功了 08/27 09:49