I have a MS Word template where I have certain mail-merge fields and one of those fields in the source doucment is sometimes empty. I am using below IF condition and taking user's input for the date field but I cannot update the source mail merge document with this information.
If Len(ActiveDocument.MailMerge.DataSource.DataFields("startDate").Value) < 1 Then
InputStartDate = Format(InputBox("Enter Commenced date ..."), "mm/dd/yyyy")
ActiveDocument.MailMerge.DataSource.DataFields("startDate").Value = InputStartDate
End If
I get an error here that says mail merge source doucment field connot be edited or is locked, something like this.
Is there any way through which I could either update the source field and through application refresh method, I populate that mail merge field with this user input date?
Alternatively I could otherwise add a few lines of code to perform following steps:
1- Save this document (using Saveas2 method) as ".docx" by converting it from ".docm"
2- Break the mail merge connection through VBA code
3- Select all mail merge fields and using Sendkeys "CTRL+SHIFT+F9" covert all of them to normal strings.
4- Make that particular mail-merge field a Bookmark field and then finally update that bookmark field with the user input.
This sounds like a longer route of getting a simple empty mail merge field issue fixed but this is so far all that I could think of. If you have any better suggestion, please let me know.
{ IF { MergeField startDate } < 1 "{ FillIn "What is the Start Date?" }" "{MergeField starttDate }" }
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.