Excel VBA 図形(シェイプ)に3-D回転効果のスタイルを設定する

スポンサーリンク

図形(シェイプ)に3-D回転効果のスタイルを設定する

図形(シェイプ)に3-D回転効果のスタイルを設定するには、3-D回転を設定する図形を表す
Shape【シェイプ】オブジェクトのThreeD【スリーディ】プロパティで立体の書式設定を表すThreeDFormat【スリーディフォーマット】オブジェクトを取得して、ThreeDFormat【スリーディフォーマット】オブジェクトのSetPresetCamera【セットプリセットカメラ】プロパティに視点の方向を表す定数または値を指定し、3-D回転効果のスタイルを設定します。


SetPresetCamera【セットプリセットカメラ】プロパティ

3-Dカメラの視点の位置を設定するには、立体の書式設定を表すThreeDFormat【スリーディフォーマット】オブジェクトのSetPresetCamera【セットプリセットカメラ】プロパティを使用します。

SetPresetCamera【セットプリセットカメラ】プロパティの書式と設定値(引数)の説明

オブジェクト.SetPresetCamera (設定値)

  • オブジェクト(必須)
    3-D回転効果を設定する図形を表すShape【シェイプ】オブジェクトの、ThreeD【スリーディ】プロパティで取得した、立体の書式設定を表すThreeDFormat【スリーディフォーマット】オブジェクトを指定します。
  • 設定値(必須)
    カメラの視点の方向をMsoPresetCamera列挙型の定数または値で指定します。

    MsoPresetCamera列挙型
    定数内容イメージ
    msoCameraLegacyObliqueTopLeft1斜投影
    (左上)
    msoCameraLegacyObliqueTop2斜投影
    (上)
    msoCameraLegacyObliqueTopRight3斜投影
    (右上)
    msoCameraLegacyObliqueLeft4斜投影
    (左)
    msoCameraLegacyObliqueFront5斜投影
    (前)
    msoCameraLegacyObliqueRight6斜投影
    (右)
    msoCameraLegacyObliqueBottomLeft7斜投影
    (左下)
    msoCameraLegacyObliqueBottom8斜投影
    (下)
    msoCameraLegacyObliqueBottomRight9斜投影
    (右下)
    msoCameraLegacyPerspectiveTopLeft10透視投影
    (左上)
    msoCameraLegacyPerspectiveTop11透視投影
    (上)
    msoCameraLegacyPerspectiveTopRight12透視投影
    (右上)
    msoCameraLegacyPerspectiveLeft13透視投影
    (左上)
    msoCameraLegacyPerspectiveFront14透視投影
    (前)
    msoCameraLegacyPerspectiveRight15透視投影
    (右)
    msoCameraLegacyPerspectiveBottomLeft16透視投影
    (左下)
    msoCameraLegacyPerspectiveBottom17透視投影
    (下)
    msoCameraLegacyPerspectiveBottomRight18透視投影
    (右下)
    msoCameraOrthographicFront19正射投影
    (前)
    msoCameraIsometricTopUp20等角投影
    (上向き
    右上がり)
    msoCameraIsometricTopDown21等角投影
    (上向き
    右下がり)
    msoCameraIsometricBottomUp22等角投影
    (下向き
    右上がり)
    msoCameraIsometricBottomDown23等角投影
    (下向き
    右下がり)
    msoCameraIsometricLeftUp24等角投影
    (左向き
    右上がり)
    msoCameraIsometricLeftDown25等角投影
    (左向き
    右下がり)
    msoCameraIsometricRightUp26等角投影
    (右向き
    右上がり)
    msoCameraIsometricRightDown27等角投影
    (右向き
    右下がり)
    msoCameraIsometricOffAxis1Left28等角投影
    (不等角
    投影1左)
    msoCameraIsometricOffAxis1Right29等角投影
    (不等角
    投影1右)
    msoCameraIsometricOffAxis1Top30等角投影
    (不等角
    投影1上)
    msoCameraIsometricOffAxis2Left31等角投影
    (不等角
    投影2左)
    msoCameraIsometricOffAxis2Right32等角投影
    (不等角
    投影2右)
    msoCameraIsometricOffAxis2Top33等角投影
    (不等角
    投影2上)
    msoCameraIsometricOffAxis3Left34等角投影
    (不等角
    投影3左)
    msoCameraIsometricOffAxis3Right35等角投影
    (不等角
    投影3右)
    msoCameraIsometricOffAxis3Bottom36等角投影
    (不等角
    投影3下)
    msoCameraIsometricOffAxis4Left37等角投影
    (不等角
    投影4左)
    msoCameraIsometricOffAxis4Right38等角投影
    (不等角
    投影4右)
    msoCameraIsometricOffAxis4Bottom39等角投影
    (不等角
    投影4下)
    msoCameraObliqueTopLeft40斜投影
    (左上)
    msoCameraObliqueTop41斜投影
    (上)
    msoCameraObliqueTopRight42斜投影
    (右上)
    msoCameraObliqueLeft43斜投影
    (左)
    msoCameraObliqueRight44斜投影
    (右)
    msoCameraObliqueBottomLeft45斜投影
    (左下)
    msoCameraObliqueBottom46斜投影
    (下)
    msoCameraObliqueBottomRight47斜投影
    (右下)
    msoCameraPerspectiveFront48透視投影
    (前)
    msoCameraPerspectiveLeft49透視投影
    (左)
    msoCameraPerspectiveRight50透視投影
    (右)
    msoCameraPerspectiveAbove51透視投影
    (上)
    msoCameraPerspectiveBelow52透視投影
    (下)
    msoCameraPerspectiveAboveLeftFacing53透視投影
    (左上
    前面)
    msoCameraPerspectiveAboveRightFacing54透視投影
    (右上
    前面)
    msoCameraPerspectiveContrastingLeftFacing55透視投影
    コント
    ラスト
    (左前面)
    msoCameraPerspectiveContrastingRightFacing56透視投影
    コント
    ラスト
    (右前面)
    msoCameraPerspectiveHeroicLeftFacing57透視投影
    (左前面)
    msoCameraPerspectiveHeroicRightFacing58透視投影
    (右前面)
    msoCameraPerspectiveHeroicExtremeLeftFacing59透視投影
    強調
    (左前面)
    msoCameraPerspectiveHeroicExtremeRightFacing60透視投影
    強調
    (右前面)
    msoCameraPerspectiveRelaxed61透視投影
    (緩い
    傾斜)
    msoCameraPerspectiveRelaxedModerately62透視投影
    (中程度
    の傾斜)

※3-D回転効果をクリアする場合は、定数「msoCameraOrthographicFront」、または値「19」の正射投影を設定します。


62種類の3-D回転効果のスタイルを表示するコードと解説

Sub TreeDスタイル()
Dim R As Range
Dim i As Integer
For i = 1 To 62
Set R = Cells(2, i)
With ActiveSheet.Shapes.AddShape(1, R.Left, R.Top, R.Width, R.Height).ThreeD
    .BevelTopType = 13
    .SetPresetCamera (i)
End With
Next i
End Sub
2行目【Dim R As Range】
図形の位置と大きさの基準となるセル範囲を格納する変数「R」をオブジェクト型(Range)で宣言します。


3行目【Dim i As Integer】
セルの列番号とカメラの視点の位置を表す定数の値を兼ねる繰り返し処理の中で使用する
カウンター変数「i」を整数型(Integer)で宣言します。


4行目【For i = 1 To 62】
For Next【フォアネクスト】ステートメントを使用して繰り返し処理の始まりです。カウンター変数「i」に繰り返し処理の中で順次1~62の値を代入します。


5行目【Set R = Cells(2, i)】
Cells【セルズ】プロパティを使用して、2行目のi列のセルをオブジェクト変数RにSetキーワードを使用して代入します。


6行目【With ActiveSheet.Shapes.AddShape(1, R.Left, R.Top, R.Width, R.Height).ThreeD】
Worksheet【ワークシート】オブジェクトの図形の集まりを表すShapes【シェイプス】コレクションの
AddShape【アドシェイプ】メソッドを使用して図形を表すShape【シェイプ】オブジェクトを取得し
Shape【シェイプ】オブジェクトのTreeD【スリーディ】プロパティを使用して立体の書式設定を表す
TreeDFormat【スリーディフォーマット】オブジェクトを取得してWith【ウィズ】ステートメントで指定します。


7行目【.BevelTopType = 13】
With【ウィズ】ステートメントで指定した、立体の書式設定を表すTreeDFormat【スリーディフォーマット】オブジェクトの図形表面の面取りのタイプを設定するBevelTopType 【ベベルトップタイプ】プロパティに13を設定して図形表面に面取りを設定します。


8行目【.SetPresetCamera (i)】
With【ウィズ】ステートメントで指定した立体の書式設定を表すTreeDFormat【スリーディフォーマット】オブジェクトの視点の方向を設定するSetPresetCamera【セットプリセットカメラ】プロパティに
カメラの視点のスタイルを表す値をカウンター変数iに設定して繰り返し処理の中で1~62のスタイルを設定して表示します。


以上で、図形(シェイプ)に3-D回転効果のスタイルを設定する方法についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告