#1
|
|||
|
|||
Auto Insert Template
I have created a Legacy Dropdown that has options of severity level. I wish to insert a table template named NSIR detail based of the Impact level of minor, moderate or severe level. I have attached the document along with this question. I am not sure why when I run the macro on exit, nothing happens. I have a total of 0.5 hr. of VBA experience, just very rudimentary xD |
#2
|
|||
|
|||
As the document you have attached has the extension docx it clearly doesn't contain any VBA code.
Depending on where you want to insert your "table template" you may find it better to use a Building Block Gallery Content Control as this will allow the insertion of whatever text etc you want without the use of any code. You will need to use a document template (dotx) for this, not a document. |
#3
|
|||
|
|||
Modified based on suggesoitn
I have saved the document as a Macro Word, the Drop down lost under impact category is set to ran macro "NSIR" on exit. I kinda recorded a macro of inserting a building block and modified the VBA to insert the table as a building block instead based on the suggestion?? Nothing appears to be happening.
Sub NSIR() Select Case ActiveDocument.FormFields("ddImpact").Result Case "Minor Harm" Selection.Range.ContentControls.Add (wdContentControlBuildingBlockGallery) Selection.ParentContentControl.BuildingBlockType = wdTypeTables Application.Templates( _ "C:\Users\wuz1\AppData\Roaming\Microsoft\Docum ent Building Blocks\1033\15\Building Blocks.dotx" _ ).BuildingBlockEntries("NSIRDetail").Insert Where:=Selection.Range, _ RichText:=True Selection.MoveUp Unit:=wdLine, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Case "Moderate Harm" Selection.Range.ContentControls.Add (wdContentControlBuildingBlockGallery) Selection.ParentContentControl.BuildingBlockType = wdTypeTables Application.Templates( _ "C:\Users\wuz1\AppData\Roaming\Microsoft\Docum ent Building Blocks\1033\15\Building Blocks.dotx" _ ).BuildingBlockEntries("NSIRDetail").Insert Where:=Selection.Range, _ RichText:=True Selection.MoveUp Unit:=wdLine, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Case "Severe Harm" Selection.Range.ContentControls.Add (wdContentControlBuildingBlockGallery) Selection.ParentContentControl.BuildingBlockType = wdTypeTables Application.Templates( _ "C:\Users\wuz1\AppData\Roaming\Microsoft\Docum ent Building Blocks\1033\15\Building Blocks.dotx" _ ).BuildingBlockEntries("NSIRDetail").Insert Where:=Selection.Range, _ RichText:=True Selection.MoveUp Unit:=wdLine, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 End Select End Sub This is my code for it. Nothing is happening. |
#4
|
|||
|
|||
Are you the only person that will use this? If not, you will need to save the document as a template and store the building blocks in that template.
Have you used Legacy Controls before? They only work if the document is protected for filling forms. Using a combo box content control would be a better option. |
#5
|
|||
|
|||
This document will be saved as a word document template to share.
|
#6
|
||||
|
||||
Without knowing what is in the building blocks it is difficult to advise, but you should not be using legacy form fields which require the form to be locked and content controls which don't. You should change the form field for a content control - see attached and also Insert Content Control Add-In
Then you run the code on exit from the content control, which in the example inserts one of three autotext entries saved in the template according to the selection. Make your selection and click outside the control. Note you have five selections in your list but only three options in your code. Create a new document from the template. The building blocks in the example insert a table with text at the end of the document or change that table if one of the three options is selected (or remove it if one of the others is selected). This should point the way.
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
#7
|
|||
|
|||
See also:
That creates a dropdown of selected building blocks. You may also want to save as a Quick Table. These are both non-macro methods. See also: Using VBA to Insent an AutoText Entry or other Building Block |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Auto Insert Text from external sources | jtm4890 | Word | 2 | 10-25-2022 06:54 PM |
Auto insert table line | johngav | Word Tables | 3 | 07-13-2017 08:44 AM |
Auto insert year only | fithawk | Word | 11 | 12-21-2016 02:50 AM |
auto insert names from list for printing | andreipopa2k | Word | 1 | 12-09-2011 01:51 PM |
Form auto insert | DaveC | Word | 4 | 06-20-2010 04:14 AM |