- Dettagli
- Scritto da Alessandra
- Pubblicato: 22 Giugno 2018
- Visite: 10367
Oggi ho "litigato" con Word: mi è stato inviato un documento oieno di immagini in linea con il testo da ridimensionare. Purtroppo Word tratta le immagin in linea con il testo come si trattasse di caratteri e non è possibile una selezione automatica multipla. Non avendo intenzione di dimensionare una immagine alla volta (ce ne erano un centinaio...) ho scritto una macro. Ve la propongo, potrebbe tornarvi utile
Option Explicit
Dim img As InlineShape
Public Sub ridimensiona()
For Each img In ActiveDocument.InlineShapes
img.Width = CentimetersToPoints(7.93)
Next img
End Sub
La macro definisce un oggetto come inlineShape, quindi esegue un ciclo su tutti gli oggetti inlineShape del documento e ne definisce la larghezza, impostandola a 7,93 cm.
Io ho inserito la larghezza desiderata nel mio codice, nulla vieta di chiedere all'utente di fornirla con una input box.



Commenti
È possibile inserire una condizione per la quale si riesca a ridimensionare a 16cm SOLO le immagini di dimensione maggiore appunto a 16cm?
Il problema è che usando la tua soluzione, risolvo parte del problema ma contemporaneame nte immagini più piccole, che già mi vanno bene, vengono portate a 16cm alterando tutto il documento!
Prova ad includere l'istruzione
img.Width = CentimetersToPo ints(7.93)
in una istruzione if che verifica se la larghezza dell'immagine è minore di 16 cm
if img.Width < CentimetersToPo ints(16) then
img.Width = CentimetersToPo ints(7.93)
end if
RSS feed dei commenti di questo post.