РЕДАКТИРОВАТЬ 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
Большое спасибо за любые предложения.