Взаимодействие Word: несколько таблиц в одной закладке

#c# #interop #multiple-tables #bookmarks

#c# #взаимодействие #несколько таблиц #закладки

Вопрос:

возможно ли вставить несколько таблиц в одну закладку в Word 2007. У меня есть файл шаблона Word, и закладка находится в середине файла. Мне нужен разрыв страницы после каждой таблицы. Кажется, что мой код вставляет все таблицы в верхнюю левую ячейку предыдущей таблицы. Я использую VS2008 (3.5).

     {   Word._Application oWord;
        Word._Document oDoc;
        oWord = new Word.Application();
        oWord.Visible = true;

        object bookmark = "Tables" 

        oDoc = oWord.Documents.Open(ref fileName,
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing);


        var oJ = from o in dbcontext.Org_Jedinica
                 select o;

        Word.Table oTable;
        Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref bookNaziv).Range;


        foreach (var orgJedinica in oJ)
        {
                oTable = oDoc.Tables.Add(wrdRng, 24, 2, ref oMissing, ref oMissing);
                oTable.Cell(1, 1).Range.Text = "..."; ...
        }
  

}

Ответ №1:

Вам нужно переместить курсор из таблицы после добавления каждой из них.

Попробуйте использовать EndKey mathod. Не уверен, какое значение WdUnits вам нужно. В любом случае вам нужно переместить курсор.

Если вы не можете понять, как переместить курсор в конец закладки, вы всегда можете создать пустой документ и поместить в него все таблицы. Используйте EndKey with WdStory , чтобы перейти к концу страницы. Затем вставьте документ в свой исходный документ.