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回転効果のスタイルを設定する方法に
ついての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク