We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Method doc.UpdateFields() fails

The method doc.UpdateFields() returns an IndexOutOfRangeException when you have a table inside an IF field and has added new rows using the class Aspose.Words.Tables.


Thanks for your inquiry. Could you please attach your document and simple code here for testing? I will check the problem on my side and provide you more information.

Best regards,

Here’s the code to test the document:

Sub Main()
    doc = New Document("TableInsideIF.doc")
    builder = New DocumentBuilder(doc)
    doc.MailMerge.Execute(New String() {"FIELD"}, New Object() {"1"})
    doc.Range.Replace(New Text.RegularExpressions.Regex("\[TABLE]"), New ReplaceEvaluator(AddressOf ReplaceTextMark), False)
End Sub

Function ReplaceTextMark(ByVal sender As Object, ByVal e As ReplaceEvaluatorArgs) As ReplaceAction
    e.Replacement = ""
    'get the cell where the text mark
    Dim CurrentCell As Tables.Cell = builder.CurrentParagraph.ParentNode

    'get the row of the cell
    Dim CurrentRow As Tables.Row = CurrentCell.ParentNode

    'get the table
    Dim CurrentTable As Tables.Table = CurrentRow.ParentNode

    'copy entire row
    Dim NewRow As Tables.Row = CurrentRow.Clone(True)

    'clean text mark of the new row
    CType(CType(NewRow.Cells(0).FirstChild, Paragraph).FirstChild, Run).Text = ""

    'add new row to the table
    Return ReplaceAction.Replace
End Function



Thank you for additional information. I managed to reproduce the problem on my side. Your request has been linked to the appropriate issue. You will be notified as soon as it is fixed.
Best regards,

The issues you have found earlier (filed as 14079) have been fixed in this update.

This message was posted using Notification2Forum from Downloads module by aspose.notifier.

The issues you have found earlier (filed as 14079) have been fixed in this update.