Мне нужно вставить титульную страницу в документ Word 2016.Строительный блок является титульным листом и имеет
InsertOptions = (int)WdDocPartInsertOptions.wdInsertPage; //= 2
Пока все хорошо.
Но VSTO может вставлять только так:
buildingBlock.Insert(range);
Он вставляется на местедиапазона.
Событие Application.ActiveDocument.BuildingBlockInsert
не вызывается.
При использовании собственной титульной страницы вставки (вкладка вставка -> титульная страница) вставка выполняется правильно (и создается только одна отмена ввода.block).
// -----------------------------------------------------------------
// try 1
var range = Application.ActiveDocument.Range();
range.Collapse(WdCollapseDirection.wdCollapseStart);
buildingBlock.Insert(range);
// result: inserting on the existing first page
// one undo entry
// event BuildingBlockInsert has not been raised
// -----------------------------------------------------------------
// try 2
//object start = 0;
//object end = 0;
//var range = Application.ActiveDocument.Range(ref start, ref end);
//buildingBlock.Insert(range);
// result: inserting on the existing first page
// one undo entry
// event BuildingBlockInsert has not been raised
// -----------------------------------------------------------------
// try 3
//var range = Application.ActiveDocument.Range();
//range.InsertParagraphBefore();
//var p = Application.ActiveDocument.Paragraphs[1];
//buildingBlock.Insert(p.Range);
// result: inserting on the existing first page
// two undo entries
// event BuildingBlockInsert has not been raised
// -----------------------------------------------------------------
Аналогичная проблема описана в примечании: https://docs.microsoft.com/en-us/office/vba/word/concepts/working-with-word/working-with-building-blocks#inserting-a-building-block-into-a-document
Кажется, VSTO игнорирует любые параметры вставки, и нет способа параметризации параметра вставки путем вставки.
Как VSTO может вставить строительный блок в новую первую страницу как собственное действие Word?
Я использую надстройку VS 2017 Word 2016, .Net Framework 4.6.1.