Создать несколько таблиц, используя слово взаимодействия Microsoft - PullRequest
0 голосов
/ 31 января 2019

Как я могу указать на определенное место в активном текстовом документе и вставить несколько таблиц после нахождения этого конкретного места (местоположение будет строкой).

public void Createtable()
    {
        object oMissing = System.Reflection.Missing.Value;
        object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined 
                                                             bookmark */
        object oBookMark = "List of tool changer systems ";

        //Start Word and Open existing Safety device Word file document.
        Word._Application OpenWord;
        Word._Document OpenDoc;
        OpenWord = new Word.Application();
        OpenWord.Visible = true;
        OpenWord.WindowState = Word.WdWindowState.wdWindowStateMaximize;
        OpenDoc = OpenWord.Documents.Open(FilenametextBox.Text, ref oMissing, ref oMissing, ref oMissing);
        Word.Document wordDocument = OpenDoc as Word.Document;
        int tablecount = wordDocument.Tables.Count;
        wordDocument.Activate();



        int manualtablecount = 118;
        i = 0;
        for (int j = 1; j <= manualtablecount; j++)
        {
            Word.Table wTable = wordDocument.Tables[j];
            Word.Cell pCell = wTable.Cell(1, 1);
            Word.Cell pCell1 = wTable.Cell(2, 1);
            Word.Range wrdRng = wordDocument.Bookmarks.get_Item(ref oEndOfDoc).Range;

        if (pCell.Range.Text.Contains("List of tool changer systems"))
        {

          for (int iFW = 1; iFW <= 6; iFW++)
          {
            Word.Table FWTable;
            Word.Range wrdRangeFW = wordDocument.Bookmarks.get_Item(ref oBookMark).Range.Select();
            FWTable = wordDocument.Application.ActiveDocument.Tables.Add(wrdRangeFW,3, 5);

             FWTable.Range.ParagraphFormat.SpaceBefore = 3;
             FWTable.Range.Font.Size = 10;
             FWTable.Range.Font.Bold = 1;
             FWTable.Borders.Enable = 1;

              for (int r = 1; r <= 3; r++)
              {

                  if (r == 1)
                  {
                   FWTable.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                      FWTable.Cell(r, 1).Range.Text = "Designation";
                      FWTable.Cell(r, 2).Range.Text = "Sensor type";
                      FWTable.Cell(r, 3).Range.Text = "Modulename";
                      FWTable.Cell(r, 4).Range.Text = "Element";
                      FWTable.Cell(r, 5).Range.Text = "OK";
                    }
                    else
                    {
                      FWTable.Cell(r, c).Range.Text = "";
                    }

                    }
               }
          }
    }

Здесь я хочу добавить шесть таблиц после определенногоСтрока, доступная в документах с открытым словом "Список систем смены инструмента"

Я пытался что-то сделать, но безуспешно.
любая помощь будет оценена !!Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...