1

У меня есть 500 страниц документа с большим количеством изображений. Мне нужно преобразовать все это в оттенки серого и повысить резкость на 40%. Обе эти задачи можно выполнить, щелкнув правой кнопкой мыши каждое изображение и выбрав 'format picture' . Однако, поскольку изображений так много, я хочу использовать макрос. Я использую слово 2010.

Я могу конвертировать все изображения в оттенки серого. Однако я не могу их оттачивать, так как не знаю требуемой команды / ключевого слова. Устройство записи макросов не записывает ничего, что вы делаете, в диалоговом окне 'format picture' поэтому это не поможет. Кто-нибудь из вас знает команду?

Вот мой рабочий код, который конвертирует все изображения в оттенки серого.

Sub Macro1()

'
' Macro1 Macro
'
'

Dim Pic As InlineShape

For Each Pic In ActiveDocument.InlineShapes

    Pic.PictureFormat.ColorType = msoPictureGrayscale

Next

End Sub

1 ответ1

3

Ну, это было очень трудно найти какую-либо документацию, но, методом проб и ошибок и слишком много времени, и у нас это есть.

Private Sub MakeItSharper()
Dim Pic As InlineShape    

For Each Pic In ActiveDocument.InlineShapes
With Pic.Fill.PictureEffects
    Dim eff As PictureEffect
    Set eff = .Insert(msoEffectSharpenSoften)
    eff.EffectParameters(1).Value = -0.5
End With
Next    

End Sub

В приведенном выше случае он будет размыт на 50% (обратите внимание, что это отрицательное число (-0,5)). Сделайте это положительным, чтобы сделать это острее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .