Word VBA Макросы. Сохранить файл .docx и .pdf с именем из двух ячеек таблицы в папку.

Автор Евгений Второй, 21 декабря 2017, 14:06

Евгений Второй

Нужно сохранить активный файл в docx- и pdf-формат под новым именем. Имена у файлов должны формироваться на основе данных первой таблицы. В таблице два столбца:

Фамилия, Имя, Отчество: Иванов П.И.
Дата рождения: 25.12.2016
Пол: мужской
Область исследования: xxx
Номер исследования: 0012345

Название файла должно быть образовано из ФИО и номера исследования.
В данном случае у файлов должны быть имена: Иванов П.И. 0012345.docx, Иванов П.И. 0012345.pdf.

Администратор

В пункте 4 укажите путь, где сохранить файлы.

Макрос
Sub Макрос()

    Dim tbl As Table, FileName(1 To 2)
   
   
    '1. Присваиваем первой таблице имя "tbl", чтобы удобно писать и читать код.
        ' Далее в коде будем обращаться к этой таблице по имени "tbl".
    Set tbl = ActiveDocument.Tables(1)
   
    '2. Запись в массив "FileName" двух фрагментов имени файла.
    FileName(1) = tbl.Cell(1, 2).Range.Text
    FileName(2) = tbl.Cell(5, 2).Range.Text
   
    '3. Удаление с концов двух спецсимволов. Один спецсимвол в виде кружка. Его видно
        ' в режиме отображения скрытых символов. Второй символ вообще не видно.
    FileName(1) = Left(FileName(1), Len(FileName(1)) - 2)
    FileName(2) = Left(FileName(2), Len(FileName(2)) - 2)
   
    '4. Сохранение активного файла под новым именем.
        ' Здесь укажите путь, где надо сохранить файл.
        ' На конце пути подставляйте левый слеш.
    ActiveDocument.SaveAs2 FileName:="C:\Users\User\Desktop\" & FileName(1) & " " & FileName(2) & ".docx"
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        "C:\Users\User\Desktop\" & FileName(1) & " " & FileName(2) & ".pdf", ExportFormat:=wdExportFormatPDF
   
End Sub
[свернуть]

Евгений Второй