#1
|
|||
|
|||
Macro not running on exiting legacy drop down menu.
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 |
Thread Tools | |
Display Modes | |
|
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 |