Я работал над созданием документов Word с использованием XML, схемы XSD и проекта документа Word.Простой сценарий - это накладная с позициями накладной.Я могу создавать элементы управления контентом и, используя учебники по адресу MSDN , смог открыть документ и просмотреть элементы верхнего уровня, такие как платежный адрес, адрес доставки и т. Д. Мойвопрос теперь, однако, я вхожу в динамическую часть, часть, где отображаются позиции счета.Счет-фактура, очевидно, имеет одну или несколько позиций счета-фактуры.Я не вижу ни одного объекта, похожего на сетку данных, с которым просто связываю список, поэтому я начал идти по пути поиска места, где начинается таблица, которая должна содержать позиции счета-фактуры, и начинал добавлять PlainTextControls в документ.Это требует, чтобы я нашел точное местоположение абзаца, чтобы начать вставку, и я не уверен, будет ли он работать долго, если документ когда-либо изменится.Вот соответствующий код:
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
this.Paragraphs[47].Range.InsertParagraphBefore();
this.Paragraphs[47].Range.Select();
PlainTextContentControl ctl = vstoDoc.Controls.AddPlainTextContentControl("textControl1");
ctl.PlaceholderText = "Enter your first name";
С этим кодом я могу начать работу по добавлению позиций документа в документ, но это похоже на хак, отслеживание того, какой параграф я нахожусь,и что происходит, когда у меня слишком много строк для таблицы, которую я создал?Начать ли добавлять строки в документ с помощью кода?
Прежде чем я зайду слишком далеко вниз по этой кроличьей норе, я хотел убедиться, что это был предписанный метод, и мне просто нужно смириться с этим и отслеживать абзацы, строки и т. Д. Я прав?отслеживать или я должен делать что-то другое?