#vba #ms-word #format
#vba #ms-word (ms-word) #формат #ms-word #форматирование
Вопрос:
Я хочу просмотреть свой документ Word, удалив все фоновые цвета для каждого слова. Пока это мой код, но он не работает — я получаю следующее сообщение об ошибке «Аргумент не является необязательным» и «.Item» выделяется:
Sub ResetColor()
Dim doc As Document
Set doc = ActiveDocument
Set eword = doc.Range.Words.Item
For i = 1 To doc.Range.Words
eword.Shading.Texture = wdTextureNone
eword.Shading.ForegroundPatternColor = wdColorAutomatic
eword.Shading.BackgroundPatternColor = wdColorAutomatic
Next
End Sub
Ответ №1:
Попробуйте это:
Sub ResetColor()
Dim doc As Document
Set doc = ActiveDocument
For Each eword In doc.Range.Words
eword.Shading.Texture = wdTextureNone
eword.Shading.ForegroundPatternColor = wdColorAutomatic
eword.Shading.BackgroundPatternColor = wdColorAutomatic
Next
End Sub
Комментарии:
1. Я получаю сообщение об ошибке «Команда недоступна» и eword. Затенение. Текстура = wdTextureNone выделена, хотя макрос запускается правильно.
2. Эта ошибка возникнет, если документ защищен или доступен только для чтения. Убедитесь, что у вас есть доступ на запись к документу.
3. Хм. Нет, документ не защищен и не доступен только для чтения. Проверил оба, но он работал с новым документом, поэтому макрос работает. Спасибо.