![]() |
|
|
|
#1
|
|||
|
|||
|
I have a simple drop down menu and right-cliked it -> Exit and selected my macro (posted below). But when I select an item from the menu, nothing happens.
Code:
Public Sub Test1()
With ActiveDocument.Content.Find
.Text = "BOLD"
.MatchWildcards = True
.MatchCase = True
.Replacement.Font.Bold = True
.Execute Replace:=wdReplaceAll
End With
End Sub
|
|
#2
|
||||
|
||||
|
There is nothing wrong with the macro, as such. Without knowing how you're using your dropdown menu, though, it's impossible to say what the issue is. If you're referring to a dropdown formfield, the only macro one of those can run is the one specified in it's properties as the 'exit' macro. your macro security settings would also have to allow macros to run.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
I can run the macro just fine by clicking "Macros -> Run MyMacro".
I'm using a legacy drop down field. I right clicked it and selected MyMacro in the "Exit" field. I protect the document to "Filling in forms" so I can start using the drop down. Then I select a value from the drop down menu but nothing happens. |
|
#4
|
||||
|
||||
|
In order for the macro to be able to do anything in a protected form, you are going to have to include code to unprotect (and reprotect) the form. In your example:
Code:
Public Sub Test1()
Dim bProtected As Boolean
'Unprotect the file
If ActiveDocument.ProtectionType <> wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
With ActiveDocument.Content.Find
.Text = "BOLD"
.MatchWildcards = True
.MatchCase = True
.Replacement.Font.Bold = True
.Execute Replace:=wdReplaceAll
End With
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, _
NoReset:=True, _
Password:=""
End If
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#5
|
|||
|
|||
|
Thanks. It works save for one thing: it only bolds "BOLD" when it's not located in a drop down menu. I want it to bold also the word "BOLD" even in drop down menus.
|
|
#6
|
||||
|
||||
|
You cannot embolden only the word BOLD in a dropdown form field, unless you convert the field result to plain text (whereupon it will no longer be a form field). You can however embolden the whole field range if the dropdown result contains the world BOLD e.g.
Code:
Public Sub Test1()
Dim bProtected As Boolean
Dim oFld As FormField
If ActiveDocument.ProtectionType <> wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
With ActiveDocument.Content.Find
.Text = "BOLD"
.MatchWildcards = True
.MatchCase = True
.Replacement.Font.Bold = True
.Execute Replace:=wdReplaceAll
End With
For Each oFld In ActiveDocument.FormFields
If InStr(1, oFld.Result, "BOLD") > 0 Then
oFld.Range.Font.Bold = True
Else
oFld.Range.Font.Bold = False
End If
Next oFld
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, _
NoReset:=True, _
Password:=""
End If
End Sub
__________________
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 |
HELP -- Drop Menu for Reoccuring Data??
|
cscaudle | Word | 1 | 03-02-2014 10:19 AM |
| Drop down menu with different value to display name | swsquish | Word | 1 | 09-04-2012 08:45 PM |
| Adding Macro menu to the right click menu (Word 2007) | masam123 | Word | 0 | 10-14-2011 04:05 AM |
| Macro will not save to normal.dot file when exiting | bobbraun | Word | 1 | 09-28-2010 06:26 AM |
| Merge fields & Drop down menu's | ShadeTree | Word | 0 | 03-09-2010 08:19 AM |