Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
We have a macro that copies an Excel range and pastes it as a metafile
picture (we want the color fonts to show in black/white in the picture) in a Word document. Some of our users are getting this error when running our macro. Users can continue running the macro by clicking Ok on the error msg but sometimes they have to exit out of Excel completely. Users are getting the error but I haven't been able to find the cause or reproduce the error myself. Any help will be greately appreciated. Thanks, Richard |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Will need code and specific error to be much help, you can try pushing
through it with a application.displayalerts=false or on error resume next but maybe not, and it won't solve the underlying issue. -- -John Please rate when your question is answered to help us and others know what is helpful. "Richard" wrote: We have a macro that copies an Excel range and pastes it as a metafile picture (we want the color fonts to show in black/white in the picture) in a Word document. Some of our users are getting this error when running our macro. Users can continue running the macro by clicking Ok on the error msg but sometimes they have to exit out of Excel completely. Users are getting the error but I haven't been able to find the cause or reproduce the error myself. Any help will be greately appreciated. Thanks, Richard |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
That won't solve the error. I'm looking for an answer to what is causing the
error. Here's more detail: Err.Description: This method or property is not available because the Clipboard is empty or not valid. Err.Number: 4605 This is the macro function I use (I omitted the variable declarations): Sub SendPics(sNamedRangeHasBrokenReference As String, sInvalidBookMarkInlineObj As String, sInvalidBookMarkStartEnd As String, sInvalidBookMark As String, sMissingBookmarks As String, sBookmarkExtends As String) sMissingBookmarks = "" On Error GoTo ErrorHandler 'loop through each sheet For i = 0 To LstSheets.ListCount - 1 If LstSheets.Selected(i) = True Then 'If the Worksheet is selected WorkSheetName = Me.LstSheets.List(i) Call ClearClipboard For Each aName In Worksheets(WorkSheetName).Names WsNameLength = Len(WorkSheetName) 'Adjust for Names that Have Quotes around the WorksheetName QuoteAdj = 0 If Left(aName.name, 1) = "'" Then QuoteAdj = 2 If Mid(aName.name, WsNameLength + QuoteAdj + 2, 5) = "zetw_" Then PicName = Right(aName.name, Len(aName.name) - WsNameLength - QuoteAdj - 1) MyStatusBar.SimpleText = "Sending " & PicName If Doc.Bookmarks.Exists(PicName) Then Set B = Doc.Bookmarks.Item(PicName) With B bErrorFound = False 'VALIDATE Word bookmarks Call ValidateBookmarks(B, aName, bErrorFound, sNamedRangeHasBrokenReference, sInvalidBookMarkInlineObj, sInvalidBookMarkStartEnd, sInvalidBookMark, sMissingBookmarks, sBookmarkExtends) If Not bErrorFound Then On Error Resume Next Set rngValidation = Nothing Set rngValidation = aName.RefersToRange.SpecialCells(xlCellTypeAllVali dation) 'format lists (font=brown, underline) in tables 'before sending image to Word If Not rngValidation Is Nothing Then Call SetListsFormat(WorkSheetName, True, PicName) On Error GoTo SkipName 'Copy Excel table range aName.RefersToRange.Copy Set myShapeRange = ..Range.InlineShapes(1).Range Set r = myShapeRange.Duplicate 'Set r = Doc.Range(.Range.InlineShapes(1).Range.start, ..Range.InlineShapes(1).Range.End) r.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, Placement:=wdInLine Doc.Bookmarks.Add PicName, Doc.Range(r.start - 1, r.start) If ChkViewReport Then With TheSentRange .name = aName.name .Sent = True ValueReviewed = True End With End If 'format lists (font=brown, underline) in tables 'after sending image to Word If Not rngValidation Is Nothing Then Call SetListsFormat(WorkSheetName, False, PicName) End If 'END data validation End With Else 'If Doc.Bookmarks.Exists(PicName) 'No placeholder (bookmark) found. The picture will not be sent sMissingBookmarks = sMissingBookmarks & aName.name & vbNewLine End If 'END If Doc.Bookmarks.Exists(PicName) If ChkViewReport Then With TheSentRange If ValueReviewed = False Then .name = aName.name .Sent = False End If If .name < vbNullString Then SentRanges.Add TheSentRange Set TheSentRange = Nothing ValueReviewed = False End With End If End If 'END IF = "zetw_" SkipName: 'trap & handle errors If Err.Number < 0 Then 'command failed error ('r.PasteSpecial' failed) If Err.Number = 4198 Then Resume 'Out of Memory error ElseIf Err.Number = 4605 Then Err.Raise 4605 'specified data type is unavailable error - aName.RefersToRange.Copy failed; it copied data in bad format ElseIf Err.Number = 5342 Then aName.RefersToRange.Copy Resume End If Err.Clear End If Next aName On Error GoTo ErrorHandler End If ' LstSheets.Selected(i) = True Next i MyStatusBar.SimpleText = "Ready " 'RLT 6/15/06 destroy objects to release memory and application prevent slow down Set r = Nothing Set B = Nothing Set B2 = Nothing Set aName = Nothing Set TheSentRange = Nothing Set rngValidation = Nothing Exit Sub ErrorHandler: Select Case Err.Number Case 4198 Resume Case 5891 MsgBox "Your word document may contain a bookmark which does not have a name." & _ (Chr(13) & Chr(10)) & "Please update the associated Word document:" & _ (Chr(13) & Chr(10)) & "1. Go to the associated Word document, click Insert, click Bookmark." & _ (Chr(13) & Chr(10)) & "2. Scroll to the top of the bookmark list and delete the blank bookmark to fix this error." & _ (Chr(13) & Chr(10)) & "3. If you still receive this error please contact your administrator", vbOKOnly, "Associate and Send" Case 4605 MsgBox "Out of Memory error is preventing Associate & Send from continuing.", vbOKOnly, "Associate and Send" Case Else Call ErrorHandlerFunction("SendPics") End Select 'RLT 6/15/06 destroy objects to release memory and application prevent slow down Set r = Nothing Set B = Nothing Set B2 = Nothing Set aName = Nothing Set TheSentRange = Nothing Set SentRanges = Nothing Set rngValidation = Nothing End Sub "John Bundy" (remove) wrote in message ... Will need code and specific error to be much help, you can try pushing through it with a application.displayalerts=false or on error resume next but maybe not, and it won't solve the underlying issue. -- -John Please rate when your question is answered to help us and others know what is helpful. "Richard" wrote: We have a macro that copies an Excel range and pastes it as a metafile picture (we want the color fonts to show in black/white in the picture) in a Word document. Some of our users are getting this error when running our macro. Users can continue running the macro by clicking Ok on the error msg but sometimes they have to exit out of Excel completely. Users are getting the error but I haven't been able to find the cause or reproduce the error myself. Any help will be greately appreciated. Thanks, Richard |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Cannot empty the clipboard | Excel Discussion (Misc queries) | |||
Clipboard empty but still get waring that clipboard is full | Excel Discussion (Misc queries) | |||
Clipboard empty but get cannot empty CB when trying to copy | Excel Worksheet Functions | |||
cannot empty the clipboard | Excel Discussion (Misc queries) | |||
cannot empty clipboard | Excel Programming |