In researching this error I\'ve come to the conclusion that it has to do with the clipboard not clearing like it should which wasn\'t an issue when we were using 2003 but is
I'm still testing my solution but it's different than the suggestions made and so far has worked flawlessly. Just a different approach:
I add a label and surround my attempt to copy with an error handler...
Pg1CopyAttempt:
DoEvents
shSomeSheet.Range("A1:G30").Copy
On Error GoTo Pg1PasteFail
WordApp.Selection.PasteExcelTable False, False, False
On Error goto 0 'disable the error handler
I call the label "Pg1CopyAttempt" because I know that Excel, through no fault of my own, may fail to copy it to the clipboard. If Excel does let me down, I won't know until I try to paste. When I do try I get thrown to the error Handler (Pg1PasteFail) when the paste method fails. This sits at the bottom of my routine (after a straight exit sub or an exit routine).
Pg1PasteFail:
If Err.Number = 4605 Then ' clipboard is empty or not valid.
DoEvents
Resume Pg1CopyAttempt
End If
It would be better to test for an empty clipboard programatically than to rely on an error handler but the idea here is to force a loop so that it keeps trying to copy until it succeeds. The simpler loop with programatic testing of the clipboard could exploit Sean's ClipboardEmpty Function (above). DoEvents is still exploited but even with DoEvents the routines can fail and are just instructed to keep trying.