Слово VBA Текст, затем таблица, затем текст, затем таблица - PullRequest
0 голосов
/ 11 марта 2020

Здравствуйте. Я пытаюсь создать документ Word с нуля, используя Excel vba с объектами Word. Оригинальный документ длиной 2 страницы. На первой странице есть текст, затем таблица, затем текст, затем другая таблица. На второй странице есть только текст.

Я до сих пор разобрался с его частью, однако я не знаю, как переместить курсор, чтобы добавить новую таблицу. Я новичок в VBA

Sub CreateBasicWordReport()

    Dim wdApp As Word.Application
    Dim objRange
    Dim objDoc
    Dim Cell
    Dim NewRange

    Set wdApp = New Word.Application


    With wdApp
         .Visible = True
         .Activate

         .Documents.Add

                With .Selection
                     .ParagraphFormat.Alignment = wdAlignParagraphCenter
                     .BoldRun
                     .Font.Size = 11
                     .TypeText "Letter to Proceed with Transfer"
                     .TypeParagraph
                     .Font.Size = 11
                     .TypeText "Determination of Transfer Value and Request for Transfer"
                     .TypeParagraph
                     .TypeParagraph
                     .TypeParagraph

                     .ParagraphFormat.Alignment = wdAlignParagraphLeft


                End With



        End With

      Set objRange = wdApp.ActiveDocument.Range
      objRange.Collapse Direction:=wdCollapseEnd

      wdApp.ActiveDocument.Tables.Add objRange, 4, 2

      With wdApp.ActiveDocument.Tables(1).Cell(1, 1).Range

         .Bold = False
         .Text = "Date"

      End With

      With wdApp.ActiveDocument.Tables(1).Cell(2, 1).Range

         .Bold = False
         .Text = "Exportin"

      End With

      With wdApp.ActiveDocument.Tables(1).Cell(3, 1).Range

         .Bold = False
         .Text = "Importing"

      End With

      With wdApp.ActiveDocument.Tables(1).Cell(4, 1).Range

         .Bold = False
         .Text = "Re"

      End With

      With wdApp.ActiveDocument.Tables(1).Cell(1, 2).Range

         .Bold = False
         .Text = "Re"

      End With

      With wdApp.ActiveDocument.Tables(1).Cell(2, 2).Range

         .Bold = False
         .Text = "Re"

      End With

      With wdApp.ActiveDocument.Tables(1).Cell(3, 2).Range

         .Bold = False
         .Text = "Re"

      End With


      With wdApp.ActiveDocument.Tables(1).Cell(4, 2).Range

         .Bold = False
         .Text = "Re"

      End With


      objRange.Collapse Direction:=wdCollapseEnd

      wdApp.ActiveDocument.Range.InsertAfter "_____________________________________________________________________________________"
      wdApp.ActiveDocument.Range.InsertAfter "Part 1"

      wdApp.ActiveDocument.Bookmarks.Exists ("\EndOfDoc")


     ' wdApp.ActiveDocument.
      'Set NewRange = ActiveDocument.Content
      'NewRange.Collapse Direction:=wdCollapseEnd


      'wdApp.ActiveDocument.Tables.Add (

      'wdApp.ActiveDocument.Range.Collapse Direction:=wdCollapseEnd





      'objRange.Collapse Direction:=wdCollapseEnd

      'wdApp.ActiveDocument.Paragraphs.Add.Range.Text = "FGHFHDFg"

      'wdApp.ActiveDocument.Tables.Add NewRange, 4, 2

      'Set objTable = wdApp.ActiveDocument.Tabl
      'objTable.Cell(1, 1).Range.Text = "WOO"

      'wdApp.Documents.Add.Tables.Add wdApp.ActiveDocument.Range, 5, 4






End Sub

Первая страница

First Page

Вторая страница

Second Page

1 Ответ

0 голосов
/ 12 марта 2020

Каждый документ Word основан на шаблоне. Каждый документ Word также использует стили для управления форматированием и макетом. Это действительно, действительно базовый материал. Вам нужно потратить некоторое время на изучение того, как работает Word, прежде чем торопиться что-либо кодировать.

Шаблон - это, по сути, документ со всем стандартным «стандартным контентом» и, в зависимости от ваших требований, некоторым переменным контентом, сохраненным как шаблон (например, файл .dotx). Понятно, что у вас уже есть такой документ, но он сохранен как шаблон. Затем вы создаете новый документ, ссылаясь на шаблон с помощью Documents.Add.

И, если вы вставляете закладки там, где ваши переменные могут иметь значение go (до сохранения), ваш макрос может просто указать Word что вставлять в эти закладки - все без необходимости перемещать курсор или выбирать что-либо.

Перекрестная публикация по адресу: https://www.msofficeforums.com/word-vba/44567-text-then-table-then-more-text-table.html

Для перекрестного этикета публикации пожалуйста, прочитайте: http://www.excelguru.ca/content.php?184

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