Results 1 to 2 of 2
  1. #1
    3 Star Lounger
    Join Date
    Mar 2003
    Location
    Elkins Park, Pennsylvania, USA
    Posts
    325
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Prevent Pasting Multiple Sections (Word XP VBA)

    Pardon me if I missed a similar post, but I didn't find anything about this topic when I searched.
    I have a type of document wherein I'd like to prevent people from pasting text containing multiple sections. Currently, I hijacked the EditPaste command and check to see if what was just pasted is more than one section. If so, I highlight it and delete it. What I would like, though, would be a more elegant solution that would (hopefully) check the contents while it's on the clipboard. My reasoning is that, even though I'm able to select and delete what was pasted, I'm never sure that the document's headers, layout, and general integrity would be the same once the clipboard contents have actually been part of the document. I can't do an undo, and I'm not quite sure why. I'm pasting that snippit of my code here, so if it's a simple matter of where I place the undo, I'd be happy with that, too.
    origSectionCount = ActiveDocument.Sections.Count
    Set PasteRange = Selection.Range
    PasteRange.Paste
    'check to see if the user pasted multiple sections...
    newSectionCount = ActiveDocument.Sections.Count
    If newSectionCount > origSectionCount Then 'if multiple sections were introduced...
    PasteRange.Select
    If MsgBox("The text you are pasting contains" & Str(newSectionCount - origSectionCount) & " section breaks. " _
    & "These section breaks will probably change the document's headers, footers, page-layout, etc., and will require additional formatting by RDS " _
    & "to correct it." & vbCrLf & vbCrLf & "Do you really want to change the format of the protocol by pasting multiple sections " _
    & "into it?", vbExclamation + vbYesNo, "Protocol Section Change") = vbNo Then

    ActiveDocument.Undo

    MsgBox "Please paste text into this Procotol one section at a time, and do not include section breaks.", vbInformation + vbOKOnly _
    , "Protocol Format"

    Else 'if the user insists on keeping multiple sections...

    Does anyone have any experience with this sort of thing, and can it be done?
    <font face="Comic Sans MS">That's what you do in a herd; you look out for each other!</font face=comic> - Mike

  2. Get our unique weekly Newsletter with tips and techniques, how to's and critical updates on Windows 7, Windows 8, Windows XP, Firefox, Internet Explorer, Google, etc. Join our 480,000 subscribers!

    Excel 2013: The Missing Manual

    + Get this BONUS — free!

    Get the most of Excel! Learn about new features, basics of creating a new spreadsheet and using the infamous Ribbon in the first chapter of Excel 2013: The Missing Manual - Subscribe and download Chapter 1 for free!

  3. #2
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 16 Times in 16 Posts

    Re: Prevent Pasting Multiple Sections (Word XP VBA)

    Perhaps you could add a new, invisible document:

    Dim doc As Document
    Set doc = Documents.Add(Visible:=False)

    and paste into this document, then count the number of sections. Don't paste into the original document if there is more than one section. You can discard the new document without saving.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •