作者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/cn.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