Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Проблема с работой объекта word.application в новом 2016 офисе
 
У меня была похожая проблема со вставкой неформатированных значений из ячеек в размеченные закладками места в Word. Ошибки периодически вылазили на этой строке:
Код
.Application.Selection.PasteAndFormat (wdFormatPlainText)

Перенос файла шаблона в папку шаблонов по умолчанию не помог. Насколько понимаю проблемы возникают при вызове функций Word из VBA, запущенном в Excel, но до конца в причинах я так и не разобрался. Заменил Copy/Paste на вставку значения текстовой переменной. Самое интересное, что один Selection.Copy / Selection.PasteAndFormat (wdFormatPlainText) в самом конце макроса работает корректно, но как только вставляю в макрос несколько - вылазят ошибки.
Код
Sub CreateLetter()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim SaveAsName As String

Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True

Set wdDoc = wdApp.Documents.Add(Template:="C:\____.dotx", NewTemplate:=False, DocumentType:=0)

With wdDoc
       
    Text = Cells(6, 2).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Должность"
    .Application.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Application.Selection.InsertAfter (Text)
       
    Text = Cells(6, 1).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Организация"
    .Application.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Application.Selection.InsertAfter (Text)

    Text = Cells(6, 3).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Кому"
    .Application.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Application.Selection.InsertAfter (Text)
    
    Text = Cells(6, 4).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Обращение"
    .Application.Selection.InsertAfter (Text)
           
    Text = Cells(2, 11).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Должность_подписант"
    .Application.Selection.InsertAfter (Text)
    
    Text = Cells(2, 10).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Подписант"
    .Application.Selection.InsertAfter (Text)
    
    Text = Cells(1, 10).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Исполнитель"
    .Application.Selection.InsertAfter (Text)
    
    Text = Cells(1, 11).Text
    .Application.Selection.Goto wdGoToBookmark, , , "Телефон"
    .Application.Selection.InsertAfter (Text)
    
    ActiveSheet.PivotTables("Заезжающие").PivotSelect _
        "'[#Inbox люди].[Фамилия Имя Отчество].[Фамилия Имя Отчество]'[All]", _
        xlLabelOnly + xlFirstRow, True
    Selection.Copy
    .Application.Selection.Goto wdGoToBookmark, , , "Список"
    .Application.Selection.PasteAndFormat (wdFormatPlainText)
    
    .SaveAs2 Filename:=("D:\_______ & Format(Now, "yyyy-mm-dd hh-mm-ss") & ".docx"), _
    FileFormat:=wdFormatXMLDocument, AddtoRecentFiles:=False
    
    .Close
End With

wdApp.Quit

End Sub
Изменено: Сергей Редькин - 19.01.2022 10:39:43
Страницы: 1
Наверх