![]() |
|
#1
|
|||
|
|||
|
Hello,
Is there another way to write the codes I have below? The idea is to insert the text shown in the text box including "and" if there are multiple entries. If Me.Chbx2 = True And Me.Chbx3 = True And Me.Chbx4 = True And Me.Chbx5 = True And Me.Chbx6 = True Then Selection.GoTo What:=wdGoToBookmark, Name:="First" With ActiveDocument.Bookmarks .DefaultSorting = wdSortByName .ShowHidden = True End With Selection.TypeText Text:=" CheckBox2, " Selection.TypeText Text:="CheckBox3, CheckBox4, CheckBox5 and CheckBox6" OR if the below is my selection If Me.Chbx2 = True And Me.Chbx3 = False And Me.Chbx4 = True And Me.Chbx5 = And Me.Chbx6 = True Then Selection.GoTo What:=wdGoToBookmark, Name:="First" With ActiveDocument.Bookmarks .DefaultSorting = wdSortByName .ShowHidden = True End With Selection.TypeText Text:=" CheckBox2, CheckBox4 and CheckBox6" Thanks in advance. |
|
#2
|
|||
|
|||
|
If Me.Chbx2 = True And Me.Chbx3 = True And Me.Chbx4 = True And Me.Chbx5 = True And Me.Chbx6 = True Then
Selection.GoTo What:=wdGoToBookmark, Name:="First" With ActiveDocument.Bookmarks .DefaultSorting = wdSortByName .ShowHidden = True End With Selection.TypeText Text:=" CheckBox2, " Selection.TypeText Text:="CheckBox3, CheckBox4, CheckBox5 and CheckBox6" OR if the below is my selection If Me.Chbx2 = True And Me.Chbx3 = False And Me.Chbx4 = True And Me.Chbx5 = False And Me.Chbx6 = True Then Selection.GoTo What:=wdGoToBookmark, Name:="First" With ActiveDocument.Bookmarks .DefaultSorting = wdSortByName .ShowHidden = True End With Selection.TypeText Text:=" CheckBox2, CheckBox4 and CheckBox6" |
|
#3
|
||||
|
||||
|
The following should work for you
Code:
Select Case True
Case Chbx2 = True And Chbx3 = True And Chbx4 = True And Chbx5 = True And Chbx6 = True
FillBM "First", "CheckBox2, CheckBox3, CheckBox4, CheckBox5 and CheckBox6"
Case Chbx2 = True And Chbx3 = False And Chbx4 = True And Chbx5 = False And Chbx6 = True
FillBM "First", " CheckBox2, CheckBox4 and CheckBox6"
End Select
Code:
Public Sub FillBM(strbmName As String, strValue As String)
'Graham Mayor - https://www.gmayor.com
Dim oRng As Range
With ActiveDocument
On Error GoTo lbl_Exit
If .Bookmarks.Exists(strbmName) = True Then
Set oRng = .Bookmarks(strbmName).Range
oRng.Text = strValue
oRng.Bookmarks.Add strbmName
End If
End With
lbl_Exit:
Set oRng = Nothing
Exit Sub
End Sub
Code:
Public Sub FillCC(strCCTitle As String, strValue As String, bLock As Boolean)
'Graham Mayor - https://www.gmayor.com - Last updated - 03 Sep 2021
Dim oCC As ContentControl
On Error GoTo lbl_Exit
For Each oCC In ActiveDocument.ContentControls
If oCC.Title = strCCTitle Then
oCC.LockContents = False
oCC.Range.Text = strValue
oCC.LockContentControl = True
oCC.LockContents = bLock
Exit For
End If
Next oCC
lbl_Exit:
Set oCC = Nothing
Exit Sub
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#4
|
||||
|
||||
|
The Checkboxes can only be True or False so lines like this
Code:
Case Chbx2 = True And Chbx3 = True And Chbx4 = True And Chbx5 = True And Chbx6 = True Code:
Case Chbx2 And Chbx3 And Chbx4 And Chbx5 And Chbx6
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|
#5
|
|||
|
|||
|
Thank you for this. Select Case worked for me however, I got an error with FillBM; not sure if I was supposed to substitute something there. I used the following and it works.
Select Case True Case Chbx2 = True And Chbx3 = True And Chbx4 = True And Chbx5 = True And Chbx6 = True Selection.TypeText Text:= "First", "CheckBox2, CheckBox3, CheckBox4, CheckBox5 and CheckBox6" Case Chbx2 = True And Chbx3 = False And Chbx4 = True And Chbx5 = False And Chbx6 = True Selection.TypeText Text:= "First", " CheckBox2, CheckBox4 and CheckBox6" End Select Content Controls, I am not familiar with but I am going to try it. |
|
#6
|
||||
|
||||
|
FillBM is a function that writes a value to a bookmark. In your case it writes to a bookmark named "First" called from the case statement. The bookmark must exist.
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| UserForm with checkboxes that hide/show bookmarked text in document | dohertym | Word VBA | 4 | 05-16-2022 09:48 PM |
Use VBA to create checkboxes and text boxes in Word
|
rotunda | Word VBA | 6 | 06-16-2021 03:13 PM |
| Macro-inserting text box | BLUEPUPIL | Word VBA | 14 | 04-16-2018 06:59 AM |
Inserting and rearranging text by inspecting existing text
|
rok123 | Word VBA | 9 | 02-05-2016 07:31 PM |
Mutually exclusive checkboxes with text
|
jt3writer | Word VBA | 2 | 01-21-2015 12:41 PM |