オートシェイプ AutoShape の円弧は、msoShapeArc と言う。
円弧の角度を数値で調整するサンプルマクロ
Sub 円弧の調整() '円弧 msoShapeArc の調整パラメータは2つ。 '角度(0-360)で指定する。中央右端が0。 'Adjustments.Item(1)は、開始点。デフォルトは270。 'Adjustments.Item(2)は、終了点。デフォルトは360。 '円弧 msoShapeArc の調整パラメータの数を調べる 'MsgBox ActivePresentation.Slides(1).Shapes.AddShape(msoShapeArc, 100, 100, 100, 100).Adjustments.Count '任意の大きさの円弧を描く。パラメータは6つ。left, top, width, height, beginArc, endArc '式.AddShape(Type, Left, Top, Width, Height) 'InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context]) VBAのinput関数 '入力値はpt(0.353mm)で。cmで入れたいときは、入力値をApplication.CentimetersToPoints()で換算する。 '例:cm単位で入力したhを、h = Application.CentimetersToPoints(h) などとしてpt単位に換算する。 L = InputBox("図形領域の左端の位置(デフォルトは0pt)", , "0") T = InputBox("図形領域の上端の位置(デフォルトは0pt)", , "0") W = InputBox("図形領域の横幅(デフォルトは100pt)", , "100") H = InputBox("図形領域の高さ(デフォルトは100pt)", , "100") beginArc = InputBox("円弧の開始点の角度(デフォルトは0°)", , "0") endArc = InputBox("円弧の終了点の角度(デフォルトは360°)", , "360") Set arc = ActivePresentation.Slides(ActiveWindow.Selection.SlideRange.SlideIndex).Shapes.AddShape(msoShapeArc, L, T, W, H) arc.Adjustments.Item(1) = beginArc arc.Adjustments.Item(2) = endArc End Sub
オートシェイプの細かい調整方法については、公式もかなり投げやりである。
Adjustments オブジェクト (PowerPoint)
この文書はかなり良い解説なのだが……。
調整可能なオブジェクトはそれぞれ調整方法が個々で異なるため、特定の図形の調整方法を調べるには、変更したい図形をマウスで作成し、マクロ記録で調整を記録したコードについて調べることをお勧めします。
というふうに、詳細なヘルプ文書がない。自分で調べてねというスタンスである。
しかし、Powerpoint2013では「マクロの記録」機能は存在しないのである。
要するに、調整パラメータは自力で探す必要がある。パラメータの数は最大で8個。
そのパラメータの意味や型、値の許容範囲なども自分で調べないといけない。
参考文献
MSDNから
Shape オブジェクト (PowerPoint) →メソッドとプロパティの一覧
MsoAutoShapeType 列挙 (Office) →オートシェイプの一覧