なぜWordで画像をzoomする必要があるのか
前回に引き続き、、、
、、、仕事で必要だったからです!!!(二回目)
こんな使い道の狭すぎるマクロを書くの、自分だって不本意なんですよ。
ただ、備忘録的に残しておくと何かの役に立つのではないかと思ってます。
このスクリプトを使ってくれるような仲間が欲しい
要件
今回の要件は、
- もとの画像はどんな形でも可
- zoom倍率を指定する
- サイズはもとのまま
です
申し訳ないのですが、今回のスクリプトはかなり簡便なので、行内図すべて含みます。画像以外に図形がある場合はそれも対象になります。
では早速コードです
コピペしてください。
Sub zoom()
'
' zoom Macro
'
'
Dim Image As Object
Dim zoom As Double
Dim TempWidth As Double
Dim TempHeight As Double
'拡大倍率を指定
zoom = InputBox("zoom (倍) : ")
For Each Image In ActiveDocument.InlineShapes
If Image.Type = wdInlineShapePicture Then
'ここが重要!
With Image.PictureFormat
.CropLeft = Image.Width * (1 - 1 / zoom) / 2
.CropRight = Image.Width * (1 - 1 / zoom) / 2
.CropTop = Image.Height * (1 - 1 / zoom) / 2
.CropBottom = Image.Height * (1 - 1 / zoom) / 2
End With
'縦横比を固定してサイズをもとにもどす
Image.LockAspectRatio = msoTrue
Image.Width = TempWidth
End If
Next Image
End Sub
おわり
簡単でしたね!
一緒にこの記事も見てクレメンス!