PDA

View Full Version : Need the Word 2010 vba equivalent of merge command



Kurt
11-27-2012, 10:59 AM
Hello all,

I need the word 2010 vba equivalent of this type of command:
[code]
'preRRPolicies$ = preRRPolicies$ + WordBasic.[GetMergeField$]("Pre_RR_Contracts_for_Addressee")
p/code]

What does the plus sign do?

Any and all help is greatly appreciated!

Kurt:dunno

Kurt
11-27-2012, 11:29 AM
Can someone tell me what the plus sign does? I think it is trying to add a field and I am researching the syntax in word 2010 vba. I really need some help on this thanks!

Kurt
11-27-2012, 11:31 AM
I am trying this but I get red meaning an error of course:



pensionPolicies$ = ActiveDocument.MailMerge.Fields.Add, Range:=Selection.Range,"pensionPolicies"

Kurt
11-27-2012, 11:56 AM
Am I on the right track here?

I found this while doing a search in Word 2010 on Add Field which is what I think the plus sign does.



With ActiveDocument
.Variables.Add Name:="pensionPolicies$"
.Fields.Add Range:=Selection.Range, Type:=wdFieldDocVariable, Text:="pensionPolicies"
End With


Anyone wiht anything would be greatly appreciated!

EdHunter
11-27-2012, 02:09 PM
Don't know if this is what your after but the VBA to execute a mail merge is:


With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With

Kurt
11-27-2012, 02:38 PM
Ed,

Thanks for the try, but I don't think that is it.

Can someone please tell me what the + sign does and its' equivlaent in Word 2010?

Thanks,

Kurt

fumei
11-27-2012, 03:35 PM
The plus sign is the same as the ampersand (&). It concatenates two strings together. It is a Basic term and has nothing specific to do with 2010.

"yadda" + "blah"

is the same as

"yadda" & "blah"

BOTH = "yaddablah"

Now it MAY be true that in 2010 VBA no longer recognizes that + and & are the same. I do not know. But in WordBasic (old,old, old) the plus sign was commonly used. Certainly up to 2003 VBA did not care if you used + or &, it was happy with both, or either.

Kurt
11-27-2012, 03:42 PM
Yep you are correct!

I just got off the phone with someone who said the same thing.

I got it figured out and you just double confirmed it!

Am I correct in assuming it is looking for the valuable of the variable in the string with the $ ?

fumei
11-27-2012, 03:49 PM
'preRRPolicies$ = preRRPolicies$ + WordBasic.[GetMergeField$]("Pre_RR_Contracts_for_Addressee")

means

The string variable preRRPolicies equals the string variable preRRPolicies with the string value of the merge field Pre_RR_Contracts_for_Addressee added to the end.

So if preRRPolicies = "yadda", and Pre_RR_Contracts_for_Addressee = "blah"

preRRPolicies now = "yaddablah"

macropod
11-27-2012, 04:21 PM
Cross-posted at: http://www.msofficeforums.com/word-vba/15226-word-2007-word-2010-vba-syntax.html
For cross-posting etiquette, please read: http://www.excelguru.ca/content.php?184

Kurt
11-27-2012, 05:10 PM
So is this the correct way to do this in word vba 2010?



pensionPolicies = pensionPolicies & ActiveDocument.MailMerge.DataSource.DataFields("pensionPolicies").Value

fumei
11-27-2012, 06:47 PM
Since I have no idea what pensionPolicies is, it is hard to say, but it looks like it should be fine.