![]() |
|
#1
|
|||
|
|||
|
For autotext or dropdownlist, we could set .range.text ="" to reset them.
But for building block gallery content control (category is table), how to do it? Many thanks. Sub ResetCC() Dim ct1 As ContentControl Dim String1 As String For Each ct1 In ActiveDocument.ContentControls If ct1.Type=wdContentControlDropdownList Then ct1.Type = wdContentControlText ct1.Range.Text = "" ct1.Type = wdContentControlDropdownList End If If ct1.Type=wdContentControlBuildingBlockGallery Then ' how to reset? End If Next End Sub |
|
#2
|
||||
|
||||
|
Try this version
Code:
Sub ResetCCs()
Dim aCC As ContentControl, iType As Integer
For Each aCC In ActiveDocument.ContentControls
With aCC
Select Case .Type
Case wdContentControlText, wdContentControlRichText, wdContentControlDate
.Range.Text = ""
Case wdContentControlComboBox, wdContentControlDropdownList
.DropdownListEntries(1).Select
Case wdContentControlCheckBox
.Checked = False
Case wdContentControlBuildingBlockGallery
iType = .Type
.Type = wdContentControlRichText
.Range.Text = ""
Do While .Range.Tables.Count > 0
.Range.Tables(1).Delete
Loop
.Type = iType
End Select
End With
Next aCC
End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia Last edited by Guessed; 04-13-2022 at 11:30 PM. Reason: Amended to deal with tables in Building Block CCs |
|
#3
|
|||
|
|||
|
Many thanks Andrew,
If the building block is table , .Range.Text = "" throws the error 6192, inappropriate range. Any fix for this ? |
|
#4
|
||||
|
||||
|
I've amended the code to remove any tables which might be in the Content Control when you try to clear it.
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|
#5
|
|||
|
|||
|
The code erases the category and type of the content control. I would like all the properties remain the same but reset it to the "unselected" initial status.
please see the attached file |
|
#6
|
|||
|
|||
|
There are tools available in the Visual Basic Editor to help you answer questions like this: IntelliSense, the Object Browser, online help.
Code:
Sub ResetCCs()
Dim aCC As ContentControl, iType As Integer
Dim bbCat As String, bbType As Long
For Each aCC In ActiveDocument.ContentControls
With aCC
Select Case .Type
Case wdContentControlText, wdContentControlRichText, wdContentControlDate
.Range.Text = ""
Case wdContentControlComboBox, wdContentControlDropdownList
.DropdownListEntries(1).Select
Case wdContentControlCheckBox
.Checked = False
Case wdContentControlBuildingBlockGallery
iType = .Type
bbType = .BuildingBlockType
bbCat = .BuildingBlockCategory
.Type = wdContentControlRichText
.Range.Text = ""
Do While .Range.Tables.Count > 0
.Range.Tables(1).Delete
Loop
.Type = iType
.BuildingBlockType = bbType
.BuildingBlockCategory = bbCat
End Select
End With
Next aCC
End Sub
|
|
#7
|
|||
|
|||
|
It works.
Can't thank you enough. |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| collabrate bulding block gallery or text content | samouti | Word | 7 | 05-07-2019 06:56 AM |
| Reference a Building block gallery control from another Field and insert text using If logic | Flynny | Word VBA | 3 | 07-30-2018 08:34 PM |
| How-to: Add a quickpart, field or Building Block Gallery Content Control based on a UserForm | HighSierra | Word VBA | 0 | 05-06-2015 08:20 PM |
| Using Building Block Gallery Content function on a form with restricted editing | wes228 | Word VBA | 1 | 08-28-2014 08:14 AM |
| how to make building block content control determine bb to display elsewhere | jamles12 | Word VBA | 5 | 11-16-2013 11:38 AM |