動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2110 ビルド14527.20234 Microsoft Store)
「パワーポイント 図形 縦横比変更 macro」
という検索でアクセスがありました。
PowerPoint VBAを使って、Shapeの横幅だけを変更しようと、例えば、
With ActivePresentation.Slides(1).Shapes(1) .Width = .Width * 1.5 End With
といったコードを実行したものの、高さも連動して1.5倍になってしまったのでしょうか。
[スポンサードリンク]
図形の縦横比を固定しないで横幅を変更するサンプル
以下のコードを試してみてください。
Sub 図形の縦横比を固定しないで横幅を変更する()
With ActivePresentation.Slides(1).Shapes(1)
.LockAspectRatio = msoFalse
.Width = .Width * 1.5
End With
End Sub
With ActivePresentation.Slides(1).Shapes(1)
.LockAspectRatio = msoFalse
.Width = .Width * 1.5
End With
End Sub
アクティブプレゼンテーション先頭スライド1つ目の図形の横幅のみが、1.5倍になります。
LockAspectRatioで縦横比を固定するかどうかを設定
ShapeオブジェクトやShapeRangeオブジェクトに用意されているLockAspectRatioプロパティで、
縦横比を固定するかどうかを取得・設定できます。
LockAspectRatioがmsoTrueの場合、縦横比が固定された状態になります。
先ほどのSubプロシージャのように、LockAspectRatioプロパティにmsoFalseを指定すれば、縦横比が固定されない状態になります。
[スポンサードリンク]
- Newer:Shapes.AddChart.Chartとは
- Older:ExcelのFontとFont2のプロパティ比較一覧
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » PowerPoint VBAで図形の縦横比を固定しないように-LockAspectRatioプロパティ