Добрый день, подскажите, пожалуйста, как перенести код записанный макрорекордером в Excel? Не могу понять на что заменить Selection и я правильно понимаю что вместо параметров надо будет использовать константы?
Код такой:
Selection.EndKey Unit:=wdStory
Selection.InsertBreak Type:=wdPageBreak
Selection.TypeParagraph
With Selection.ParagraphFormat
.LeftIndent = CentimetersToPoints(9)
.RightIndent = CentimetersToPoints(1.98)
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
End With
В Excel созданы такие объекты
Set objWordBill = CreateObject("Word.Application")
Set aDoc = objWordBill.ActiveDocument
Вот такие изменения надо внести в код:
Макрос
Sub Макрос()
Set objWordBill = CreateObject("Word.Application")
Set aDoc = objWordBill.ActiveDocument
objWordBill.Selection.EndKey Unit:=6
objWordBill.Selection.InsertBreak Type:=7
objWordBill.Selection.TypeParagraph
With objWordBill.Selection.ParagraphFormat
.LeftIndent = objWordBill.CentimetersToPoints(9)
.RightIndent = objWordBill.CentimetersToPoints(1.98)
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
End With
End Sub
Примечания
- Посмотреть значение константы можно так: в VBA - View - Object Browser - слева от бинокля вставьте название константы, например, wdStory - справа щёлкните бинокль - в самом внизу посмотрите число, которое находится в константе.
- При поиске в "Object Browser" смотрите, чтобы в искомом тексте на конце не было пробелов, иначе не будет найдено.
спасибо большое
У меня при запуске ворда с помощью макроса нет открытого файла, поэтому в моём случае нужен такой код (я изменил вторую строку - это Set aDoc = objWordBill.Documents.Add):
Код:
Sub pro()
Dim objWordBill, aDoc
Set objWordBill = CreateObject("Word.Application")
Set aDoc = objWordBill.Documents.Add
objWordBill.Selection.EndKey Unit:=6
objWordBill.Selection.InsertBreak Type:=7
objWordBill.Selection.TypeParagraph
With objWordBill.Selection.ParagraphFormat
.LeftIndent = objWordBill.CentimetersToPoints(9)
.RightIndent = objWordBill.CentimetersToPoints(1.98)
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
End With
End Sub