2012-01-04 6 views
1

У меня есть книга Excel, которая хранит данные моих клиентов. Как адрес & Сумма задолженности. Я пишу код VBA в excel, который будет генерировать письмо каждому клиенту за соответствующие суммы. Из-за сложности письма я не могу использовать mailmerge. Я использую следующие коды для добавления абзацевИзменение выравнивания абзаца документа Word через VBA

Set wrdApp = CreateObject("Word.Application") 
wrdApp.Visible = True 
Set wrdDoc = wrdApp.Documents.Add 
wrdDoc.content.InsertAfter "----------" 
wrdDoc.content.InsertParagraphAfter 

Теперь мне нужно изменить выравнивание абзацев. Пункты в тексте письма должны быть оправданы, а некоторые абзацы, подобные теме, должны быть выровнены по центру. Я попробовал этот код, но он не работает

1.

wrdDoc.Paragraphs(8).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter 

также

2.

wrdDoc.Paragraphs(8).Alignment = wdAlignParagraphCenter 

Что такое правильный способ сделать это?

С уважением Шекхар

ответ

0
+0

Спасибо большое rajat. Фактически я работал вокруг, чтобы найти решение, и следующий код сработал. Набор MyRange = wrdDoc.Range (wrdDoc.Paragraphs (9) .Range.Start, wrdDoc.Paragraphs (24) .Range.End) myrange.Select wrdapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify Это означает, что предиминированные свойства слова wd * не являются проблемой, как это предлагается в ссылке. Хотя я нашел решение для своей проблемы, я до сих пор не знаю, почему мой первый код не сработал. Есть ответы? – user1130219

3

Это работает для меня:

objselection.Paragraphs.Alignment = 3

номера:

3 Обоснуйте 2 Центр 1 Right Оправдание

+0

Это сработало для меня, но я обнаружил, что 1 = Центр. Мой код «WordApp.Selection.Paragraphs.Alignment = 1' - для изменения выравнивания абзаца в центр для выбора, итерации в a для каждого цикла. –

Смежные вопросы