[算表] 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