Você pode:
Dim Pic As InlineShape
For Each Pic In ActiveDocument.InlineShapes
Pic.PictureFormat.ColorType = msoPictureGrayscale
Next
Suponha que você tenha um documento do Microsoft Word 2007: acabou de inserir nele cerca de mil imagens JPEG.
Com a primeira imagem, clique com o botão direito do mouse, em FORMAT PICTURE, depois na opção "RECOLOR" e, em seguida, selecione "BLACK AND WHITE" na segunda linha "COLOR MODES".
Como você pode automatizar o processo de dar o mesmo comando "formato de imagem" para as outras imagens 999 JPEG?
Acabei de experimentar o FORMAT PAINTER, mas não tive sucesso.
Alguma pista?
Esta é uma PERGUNTA semelhante sem RESPOSTAS: link
Como seleciono todas as imagens de uma só vez, para uma formatação consistente, para que todos eles aparecem iguais em todo o meu documento de palavras, ou seja, para que todos eles tem as mesmas margens de quebra de texto, por exemplo ... e são todas iguais% tamanho do original? Se a palavra não me permite 'selecionar tudo' para fotos, posso copiar o formatação das fotos e, em seguida, colá-lo sobre as outras fotos de alguma forma, semelhante para o pincel de formatação usado para texto?
Agradeço antecipadamente por sua gentil ajuda.
Ok, muito obrigado a Alex K., a solução é a seguinte:
Sub Macro1()
'
' Macro1 Macro
'
'
Dim Pic As InlineShape
For Each Pic In ActiveDocument.InlineShapes
Pic.PictureFormat.ColorType = msoPictureBlackAndWhite
Next
End Sub
Aceitei a solução da Alex K. porque ele encontrou o caminho certo para resolver o problema. A palavra-chave correta é msoPictureBlackAndWhite, em vez de msoPictureGrayscale.
Muito obrigado, Alex K.; -)
Tags jpeg microsoft-word formatting vba