[算表] excel VBA 下載網頁 會清空ACTIVESHEET

作者: anianiani (ㄚ尼(Ani))   2018-08-23 17:53:51
軟體: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 清空整個頁面,
有沒有方法,可以保留按鈕,讓我下一次還能藉由按鈕執行下載網頁功能。
感謝各位細心看完!!!
作者: anianiani (ㄚ尼(Ani))   2018-08-23 17:55:00
圖片好像貼錯順序了! 各位見諒...
作者: soyoso (我是耀宗)   2018-08-23 17:58:00
不要用shapeselectall,改以迴圈於shapes的集合判斷name不為CommandButton1再delete如不以迴圈,而以原巨集shapes.selectall的話可先將commandbutton1先隱藏visible為假falsedelete後再為真true因有可能會出要求的圖案已鎖定供選取或物件不支援此屬性或方法的錯誤訊息於delete前可先以on error resume next
作者: anianiani (ㄚ尼(Ani))   2018-08-27 09:23:00
感謝soyoso大的回覆 恕小弟不才 以迴圈於shapes的集合不太明白 我才剛接觸沒多久
作者: soyoso (我是耀宗)   2018-08-27 09:25:00
for each..next迴圈於shapes集合
作者: anianiani (ㄚ尼(Ani))   2018-08-27 09:49:00
感謝soyoso大 成功了

Links booklink

Contact Us: admin [ a t ] ucptt.com