#1
|
|||
|
|||
Adding text to after a bookmark based on drop down menu choice
Hey everyone!
I'm hoping to create a drop down menu with two choices (Low and Minimal) and if low is chosen it would add the following "Please delete all content for Benchmark team" after bookmark "BM2" in the document. If minimal is chosen, it wouldn't add anything and the space would be blank in the document. Can anyone help with the code? This is what I have so far and its not adding the text where I want in the document. Code:
Private Sub Paragraph_Addition Dim StrDetails As String With ContentControl If .Title = "Grade" Then Select Case .Range.Text Case "LOW" StrDetails = "Please delete all content for Benchmark team." Case "MINIMAL" StrDetails = "" Case Else: StrDetails = "" End Select ActiveDocument.ContentControls(2).Range.Text = StrDetails End If End With End Sub |
#2
|
||||
|
||||
You seem to be changing the caption of a content control. Is this intended? It seemed from the description of your problem that you simply wish to paste StrDetails at the location of the bookmark BM2. If you want to move the cursor to a bookmark location, you could use something like this:
Code:
Selection.GoTo What:=wdGoToBookmark, Name:="BM2" Code:
Selection.TypeParagraph Selection.Range.Text = StrDetails Code:
ActiveDocument.ContentControls(2).Range.Text = StrDetails Last edited by jpb103; 06-09-2014 at 06:40 AM. Reason: more efficient code |
#3
|
|||
|
|||
If you have Option Explicit at the top of your code pane you should be getting a “Compile Error” variable not defined on ContentControl.If you don’t then you must be getting a run-time error “424” on the If .Title = “Grade” Then line.
That, or there is more to your code than meets to the eye. You mention bookmark BM2 in your post but there is no reference to a bookmark named “BM2” or anything else related to a bookmark in your code. Code:
Private Sub Paragraph_Addition() Dim strDetails As String Dim oCC As ContentControl Dim oRng As Range Set oCC = ActiveDocument.SelectContentControlsByTitle("Grade").Item(1) Select Case oCC.Range.Text Case "LOW" strDetails = "Please delete all content for Benchmark team." Case Else strDetails = vbNullString End Select 'Write to bookmark If ActiveDocument.Bookmarks.Exists("BM2") Then Set oRng = ActiveDocument.Bookmarks("BM2").Range oRng.Text = strDetails ActiveDocument.Bookmarks.Add "BM2", oRng End If End Sub |
#4
|
|||
|
|||
Quote:
|
#5
|
|||
|
|||
You could adapt it and put it in the content control onexit event.
|
#6
|
|||
|
|||
Quote:
Thanks! |
#7
|
|||
|
|||
It is possible if you want to learn how and employ a custom content control change event: http://gregmaxey.com/word_tip_pages/...om_events.html
If you could use a second content control rather that a bookmark then you could also adapt the code shown here: https://www.msofficeforums.com/word-...rols-word.html |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Multiple Choice Drop Down List | teza2k06 | Word | 1 | 04-29-2014 04:54 PM |
Populate a table based on choices from drop down menu | Xaand | Word VBA | 0 | 02-25-2014 11:08 AM |
Design: Adding text choice | christopherL | Word | 2 | 10-07-2013 11:22 PM |
Bookmark applied to drop-down list doesn't do the job | thecreaser | Word | 5 | 04-11-2013 04:21 AM |
Adding Macro menu to the right click menu (Word 2007) | masam123 | Word | 0 | 10-14-2011 04:05 AM |