Я создал скрипт Visual Visual Basic, который берет данные из таблицы Excel и создает абзац в листе слов для каждой строки. Язык по умолчанию для документа - иврит, с текстом, выровненным справа и направо справа налево.
Для одной (последней) строки в абзаце я хочу установить язык на английский, направление слева направо и выравнивание вправо. Затем для первой строки в следующем абзаце измените обратно на иврит, направление справа налево и выравнивание вправо.
При записи макроса в слове, когда он находится в последней строке абзаца, нажимая клавишу home, shift end, нажимая значки на панели инструментов, чтобы изменить язык, направление и выравнивание по желанию, я получаю:
Sub test()
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Application.Keyboard (2057)
Selection.LtrPara
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
End Sub
Одна вещь, которая удивила меня, заключается в том, что изменение языка записывается так, как если бы я использовал клавиатуру, а не являлось свойством объекта, как направление и выравнивание.
Как мне перевести это на excel Visual Basic? Данная строка в настоящее время добавляется с помощью:
With f
.Content.InsertAfter Format(a, "standard") & " x " & Format(b, "#,##0.000") & " x " & Format(c, "#,##0.000") & " / " & Format(d, "#,##0.000") & " = " & Format(e, "standard")
.Content.InsertParagraphAfter
End With
Спасибо
Ernst