Импорт данных из Excel в таблицу колонтитула Word - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день уважаемые ГУРУ! Нужна Ваша помощь: Которую неделю пытаюсь добиться полноценного формирования спецификации (.doc) из базы excel. Двигаюсь по пути Find .Text [Х]-->.Replacement.Text [Y] Но никак не получается корректно войти в сам колонтитул Word (нижний для первой страницы) и в "штамп" который представляет из себя таблицу. Очень рассчитываю на Вашу помощь!
Вариант со "слиянием" пробовал,- не совсем то, что мне нужно....

Решение задачи: «Импорт данных из Excel в таблицу колонтитула Word»

textual
Листинг программы
Public Sub Excel_Экспорт_Word_C()
    'Запуск Word
    ПутьШаблона = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, ИмяФайлаШаблона)
    Dim WD As Object
    Dim Doc As Object
    On Error Resume Next
    Set WD = GetObject(, "Word.Application")
    If WD Is Nothing Then Set WD = CreateObject("Word.Application")
    Set Doc = WD.Documents.Open(ПутьШаблона)
    Dim имя_файла1 As String
    имя_файла1 = ActiveWorkbook.Name
    
    Dim Путь_Файла1 As String
    Путь_Файла1 = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, имя_файла1)
  
    Dim Книга As Workbook
    Set Книга = Application.ActiveWorkbook
    'Определение (заполненного) количества строк и столбцов Книги
    Stroka = 2
    Книга.Worksheets("Отчет_С").Activate '.Select
    Do Until Cells(Stroka, 1).Value = "" 'Перебор строк - пока не встретиться "пустая"
        Stroka = Stroka + 1
    Loop
    Количество_Строк = Stroka
    Doc.SaveAs2 Filename:=ThisWorkbook.Path & "\Новый файл.docx", _
        FileFormat:=12 'здесь определись с именем Word файла
    Set Doc = WD.ActiveDocument
    Dim Таблица As Object
    Set Таблица = Doc.Tables(1)
    For Строка = 1 To Количество_Строк - Таблица.Rows.Count
        Таблица.Rows.Add 'Добавление недостающих строк таблицы
    Next
    For Строка = 2 To Таблица.Rows.Count
        For Столбец = 1 To Таблица.Columns.Count
            'Заполнение ячеек таблицы
            Таблица.Cell(Строка, Столбец).Range.Text = Format(Книга.Worksheets("Отчет_С").Cells(Строка, Столбец))
        Next Столбец
    Next Строка
    Doc.Save
    Set Doc = Nothing
    WD.Quit
    Set WD = Nothing
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы