VBA Синтаксис выравнивания слов - PullRequest
0 голосов
/ 06 марта 2019

РЕДАКТИРОВАТЬ 1: Я пытаюсь отформатировать абзац со строкой (сегодняшняя дата) с выравниванием по правому краю в VBA, используя тестовую функцию Excel VBA, как показано ниже. Эта строка ниже, я думал, был приемлемым синтаксисом, но я ошибся здесь или где-то еще в функции, так как дата все еще отображается выровненной по левому краю, когда я открываю сохраненный документ:

wordLetter.Paragraphs(1).Alignment = wdAlignParagraphRight

Эта функция создает новый документ Word с шаблоном Normal, добавляет дату, сохраняет ее относительно текущего местоположения книги Excel.

В противном случае, я понимаю, .Paragraphs(1) уже существует, когда документ Word создается с помощью .Add или .Open метода Documents коллекции, я только что понял это.

Private Function Test()

    Dim objWord As Object: Set objWord = CreateObject("Word.Application")

    objWord.Application.DisplayAlerts = False

    objWord.Application.ScreenUpdating = False

    Dim wordLetter As Object: Set wordLetter = objWord.Documents.Add

    wordLetter.Range.Font.textColor.RGB = RGB(0, 0, 0)

    Dim strDate As String: strDate = Format(Now(), "dddd, mmm d, yyyy")

    wordLetter.Paragraphs(1).Alignment = wdAlignParagraphRight
    wordLetter.Paragraphs(1).Range.text = strDate

    objWord.Application.ScreenUpdating = True

    savePath = ThisWorkbook.path & "\testDoc.docx"

    With wordLetter
        .SaveAs2 Filename:=savePath, FileFormat:=wdFormatDocumentDefault
    End With

    Application.DisplayAlerts = True

End Function

Большое спасибо за любые предложения.

1 Ответ

1 голос
/ 06 марта 2019
 WordLetter.Paragraphs(1).Alignment = wdAlignParagraphRight
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...