我正在构建一个模型,该模型尝试使用全选> 复制从不同网站的网络中提取数据。下面是我拥有的代码,它似乎在某些区域以中断模式工作,而在其他区域它仅在我运行宏时才有效。
当时让我感到困惑的部分是当它命中: "ActiveSheet.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False" 时,它失败并给我 Error 1004 "PasteSpecial method of Worksheet class failed 。”
在调试后按 F8 时,代码继续运行良好(尽管在向我显示“无法在中断模式下执行代码 3 次之后)。我尝试更改代码以显示“工作表(“GOOGLE”)”和其他方法直接定义工作表。我的直觉是这可能不是问题。如果是这样,我不知道这里发生了什么!有人可以测试一下吗?
仅供参考,我还在此代码之上使用用户表单(无模式)作为“等待”消息,因为运行时间可能会很长。不确定这是否会干扰粘贴。
Dim IE As Object
Dim PauseTime, Start
PauseTime = 22 ' Set duration in seconds
Start = Timer ' Set start time.
Application.ScreenUpdating = False
Worksheets("GOOGLE").Activate
Worksheets("GOOGLE").Cells.Clear
Worksheets("GOOGLE").Range("A1").Copy
Application.CutCopyMode = False
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Navigate Range("GOOGLEURL").Value
Do Until .ReadyState = 4: DoEvents: Loop
End With
Do While Timer < Start + PauseTime
DoEvents
Loop
IE.ExecWB 17, 0 '// SelectAll
IE.ExecWB 12, 2 '// Copy selection
ActiveSheet.Range("A1").Select
ActiveSheet.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False
IE.Quit
On Error GoTo Ending
IE.Quit
Application.CutCopyMode = False
Ending:
Application.CutCopyMode = False
Exit Sub