Hi,
I would like to update the textbox and checkbox field values in my word document (doc/docx). Is this possible using ASPOSE.Words? if so, could you please post a sample?
Thanks, Siva
Hi,
Thanks for your inquiry.
Please attach your input and target Word documents here for testing. I will investigate as to how you are expecting your final document to be generated like. You can use Microsoft Word to create your target Word document. I will then provide you code to achieve what you’re looking for.
For example, one way to access and change the values of these form fields would be as follows:
foreach(FormField formField in doc.Range.FormFields)
{
if (formField.Type == FieldType.FieldFormCheckBox)
formField.Checked = true;
if (formField.Type == FieldType.FieldFormTextInput)
formField.SetTextInputValue("text is modified.");
}
Best regards,
Hi Awais,
Thank you very much for your quick reply.
Please find attached input and output documents. Basically, I wanted to update the same document that I supplied as input, I do not want to create a new document.
Document doc = new Document(@"c:\test\sampleInput.docx");
foreach (FormField formField in doc.Range.FormFields)
{
if (formField.Type == FieldType.FieldFormCheckBox)
formField.Checked = true;
if (formField.Type == FieldType.FieldFormTextInput)
formField.SetTextInputValue("text is modified.");
}
doc.UpdateFields(); // Does this work?
Please let me know the code snippet for saving the changes to the same document.
Thanks,
Siva
Hi ,
Thanks for the additional information.
Yes, the same code will work in this case. Here is the code that loads a document into memory, sets the checked status of the check box form field and then finally saves changes to the same document file.
Document doc = new Document(@"C:\Temp\sample-Input.docx");
FormField cbxField = doc.Range.FormFields[1];
cbxField.Checked = true;
doc.Save(@"C:\Temp\sample-Input.docx");
I hope, this helps.
Best regards,