![]() |
|
#1
|
|||
|
|||
![]()
As far as #2 I meant use text instead of the character-
|
#2
|
||||
|
||||
![]()
I used Chr(148) because experience has taught me the VBE tends to transform ” into ".
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
![]()
Got it. Now I understand that you just manually created a dropdown menu whereas I have to use code for the dropdown because I am inserting everything via macro. I thought you had some hidden code somewhere that I was unaware of. Thanks Paul, I have learned much from the master-
|
#4
|
||||
|
||||
![]()
If you need to add the dropdown programmatically, you could use a separate macro, coded along the lines of:
Code:
Sub CreateDropDown() Application.ScreenUpdating = False Dim Prot As Variant, Rng As Range, FmFld As FormField Const Pwd As String = "" With ActiveDocument Prot = .ProtectionType If .ProtectionType <> wdNoProtection Then Prot = .ProtectionType .Unprotect Password:=Pwd End If Set Rng = ??? Rng.InsertBefore Chr(147) Rng.Collapse wdCollapseEnd Set FmFld = .FormFields.Add(Range:=Rng, Type:=wdFieldFormDropDown) With FmFld .Name = "RecordsDD" .EntryMacro = "" .ExitMacro = "ConditionalContent" .Enabled = True With .DropDown.ListEntries .Add Name:="Record Collection" .Add Name:="U.S. Public Records Index" .Add Name:="United States Public Records 1970-2010" End With End With .Protect Type:=Prot, Password:=Pwd, NoReset:=True End With Set FmFld = Nothing: Set Rng = Nothing Application.ScreenUpdating = True End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
![]()
Thanks Paul, good talking to you-
|
#6
|
|||
|
|||
![]()
For Setting Range I used
Code:
Set Rng = Selection.Range |
#7
|
|||
|
|||
![]()
So I messed with a little bit and I fixed it but have no idea how, here's the code that works:
Code:
Option Explicit Const BmkCCBmk As String = "CCBookmark" 'bookmark name Const Pwd As String = "" 'Filling in Forms password Sub PublicRecordsCombinedMacro() 'PublicRecordsCombinedMacro Macro Application.ScreenUpdating = False Dim Prot As Variant, Rng As Range, FmFld As FormField With ActiveDocument Prot = .ProtectionType If .ProtectionType <> wdNoProtection Then Prot = .ProtectionType .Unprotect End If Set Rng = Selection.Range With ActiveDocument Rng.Collapse wdCollapseStart 'Dropdown Menu for Record Collection Set FmFld = .FormFields.Add(Range:=Rng, Type:=wdFieldFormDropDown) With FmFld .Name = "RecordsDD" .EntryMacro = "" .ExitMacro = "CondtionalContent" .Enabled = True With .DropDown.ListEntries .Add Name:="Record Collection" .Add Name:="U.S. Public Records Index" .Add Name:="United States Public Records 1970-2010" End With End With With Rng .End = FmFld.Range.End .InsertBefore Chr(210) .InsertAfter "," .Collapse wdCollapseEnd End With With Rng .End = FmFld.Range.End .Collapse wdCollapseEnd End With .Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=Pwd End With Set FmFld = Nothing: Set Rng = Nothing Application.ScreenUpdating = True End With End Sub |
#8
|
||||
|
||||
![]()
No kidding!
Code:
Const BmkCCBmk As String = "CCBookmark" 'bookmark name Const Pwd As String = "" 'Filling in Forms password Sub PublicRecordsCombinedMacro() 'PublicRecordsCombinedMacro Macro Application.ScreenUpdating = False Dim Prot As Variant, Rng As Range, FmFld As FormField With ActiveDocument Prot = .ProtectionType If .ProtectionType <> wdNoProtection Then Prot = .ProtectionType .Unprotect End If Set Rng = Selection.Range Rng.Collapse wdCollapseStart 'Dropdown Menu for Record Collection Set FmFld = .FormFields.Add(Range:=Rng, Type:=wdFieldFormDropDown) With FmFld .Name = "RecordsDD" .EntryMacro = "" .ExitMacro = "CondtionalContent" .Enabled = True With .DropDown.ListEntries .Add Name:="Record Collection" .Add Name:="U.S. Public Records Index" .Add Name:="United States Public Records 1970-2010" End With End With With Rng .End = FmFld.Range.End .InsertBefore Chr(210) .InsertAfter "," .Collapse wdCollapseEnd End With With Rng .End = FmFld.Range.End .Collapse wdCollapseEnd End With .Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=Pwd End With Set FmFld = Nothing: Set Rng = Nothing Application.ScreenUpdating = True End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#9
|
||||
|
||||
![]()
Does the document you're trying to add the formfield to contain the ConditionalContent macro?
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#10
|
|||
|
|||
![]()
Yes it is-
|
#11
|
||||
|
||||
![]()
Well, I'm not getting any errors with the code as provided, when using:
Set Rng = Selection.Range and the ConditionalContent macro is present.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#12
|
||||
|
||||
![]()
For each formfield you want to trigger the unlinking with, add the line:
FmFld.ExitMacro = "Unlink" after the last existing line referencing that formfield. Supplement that with the following macro: Code:
Sub Unlink() With ActiveDocument If .ProtectionType <> wdNoProtection Then .Unprotect Password:=Pwd End If .Fields.Unlink End With End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#13
|
|||
|
|||
![]()
Thanks Paul, I have learned much from the master-again-
|
#14
|
|||
|
|||
![]()
Quick question, is it possible to have Italic and regular font in a dropdown menu? Thanks-
|
#15
|
||||
|
||||
![]()
Quick answer: No.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Replace & case | Jennifer Murphy | Word | 1 | 02-11-2013 03:26 AM |
Question about Case statement | Jennifer Murphy | Word VBA | 1 | 01-05-2013 02:30 PM |
Case Sensitive (contains) Selection | apolloman | Excel | 2 | 07-12-2011 04:50 AM |
![]() |
davers | Word | 1 | 04-30-2009 12:41 PM |
Upper to lower case | jd | Excel | 1 | 04-28-2006 07:40 AM |