「excelvba 線分 矢印なし」
といった検索キーワードでアクセスがありました。
判断が難しいキーワードですが、Excel VBAで「線矢印」「線矢印:双方向」の矢印を消す方法を調べていらしたのではないかと想像しています。
線の矢印を消すサンプルマクロ
以下のExcelマクロが参考になるのではないでしょうか。
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = msoShapeMixed Then
If shp.ConnectorFormat.Type = msoConnectorStraight Then
With shp.Line
.BeginArrowheadStyle = msoArrowheadNone
.EndArrowheadStyle = msoArrowheadNone
End With
End If
End If
Next
サンプルマクロで行っている処理
線の判定が難しいところで、(以前とは異なり)最近のExcelで作成した線の場合、Shape.AutoShapeTypeプロパティの戻り値がmsoShapeMixedになっているようなので、
If shp.AutoShapeType = msoShapeMixed Then
とIf文を入れています。
コネクタや曲線の場合には、矢印を消さないようにするために、更にConnectorFormatオブジェクトのTypeプロパティの判定を入れて、
If shp.ConnectorFormat.Type = msoConnectorStraight Then
Shape.Lineプロパティで取得できる、LineFormatオブジェクトのBeginArrowheadStyleプロパティ・EndArrowheadStyleプロパティで矢印無しの状態にしています。
With shp.Line .BeginArrowheadStyle = msoArrowheadNone .EndArrowheadStyle = msoArrowheadNone
最終更新日時:2025-07-25 12:58
- Older:Word VBAで図形のテキストを取得する基本
Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAで線の矢印を消すには