Deutsch
Germany.ruФорумы → Архив Досок→ Компьютер & Co

VBA für Word

136  
Puschkina свой человек05.01.11 17:47
05.01.11 17:47 
Кто силен в VBA? У меня документ в Ворде более 100 страниц. Мне нужно, чтобы первое слово в каждом абзаце было жирным.
Вот это я нашла в сети:
Sub ErstesWortImAbsatzFett()
With Selection.Paragraphs(1).Range
With .Words.First
.Font.Bold = True

End With

End With
End Sub
Но так он делает только слово в первом абзаце жирным. Как сделать, чтобы он во всех абзацах выделил первое слово жирным? Спасибо.
#1 
Nervenzucken знакомое лицо05.01.11 18:16
Nervenzucken
NEW 05.01.11 18:16 
в ответ Puschkina 05.01.11 17:47, Последний раз изменено 05.01.11 18:32 (Nervenzucken)
With Selection.Paragraphs(1)
==
эта конструкция относится только первому абзацу. в скобках номер абзаца.
нужно цикл организовать.
или предварительно сосчитать, тем же vba количество абзацев и число в качестве счетчика взять.
или чего то заюзать, что количество абзацев даст, чего еще не знаю. (плохо, когда не знаешь, да еще забудешь)
или заведомом большее число взять в качестве счетчика, но в цикл обработчик ошибок включить.
ps
нашел
....
For i = 1 To ThisDocument.Paragraphs.Count
ThisDocument.Paragraphs(i).Range
...
#2 
Puschkina свой человек05.01.11 19:11
NEW 05.01.11 19:11 
в ответ Nervenzucken 05.01.11 18:16, Последний раз изменено 05.01.11 19:14 (Puschkina)
Чего-то не получается. Вы не могли бы написать как это все вместе должно выглядеть?
П.С. количество абзацев можно и просто в Ворде посчитать. Но куда мне это число потом внести? Типа 1-7000 не получается.
#3 
Nervenzucken знакомое лицо05.01.11 19:39
Nervenzucken
NEW 05.01.11 19:39 
в ответ Puschkina 05.01.11 19:11
В ответ на:
количество абзацев можно и просто в Ворде посчитать. Но куда мне это число потом внести?

не нужно считать, ThisDocument.Paragraphs.Count дает число абзаев в документе. цикл от 1 до числа которое
даст ThisDocument.Paragraphs.Count
написать не могу, так как проверить не могу в данный момент работоспообность
кода
#4 
NightWatch коренной житель05.01.11 19:47
NightWatch
NEW 05.01.11 19:47 
в ответ Puschkina 05.01.11 19:11
Компиляция ваших предложений + немного от себя
В ответ на:
Sub ErstesWortImAbsatzFett()
Dim i As Integer
For i = 1 To ActiveDocument.Paragraphs.Count
With ActiveDocument.Paragraphs(i).Range
With .Words.First
.Font.Bold = True
End With
End With
Next
End Sub

#5 
Puschkina свой человек05.01.11 23:31
NEW 05.01.11 23:31 
в ответ NightWatch 05.01.11 19:47
Супер! Работает! Спасибо большое.
#6