- 日時: 2007/08/18 14:38
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[エクセル][][] * * キーワード:図形の描画,オートシェイプ,吹き出し,矢印 * ***********************************************************************************
元質問:VBからEXCELの図形削除 - ひらりん 2005/09/12-13:09 No.4380 VBからEXCEL上の図形(Shape)を削除させたいのですが、下記のように書いてはみたのですが図形を選択はしているのですが消えてはいません
'すべての図形を選択する xlSheet.Shapes.SelectAll '現在選択されているオブジェクトを削除する xlSheet.Selection.Delete
--------------------------------------------------- xlSheet.Selection の Selection プロパティ の使い方が間違っていてxlSheet オブジェクト には、Selection プロパティが無い為に削除が出来なかったようです。 >>14 (マクロをVBのコードに変換する場合の注意事項)参照
----------------------------------------------------------------------------------- 図形(オートシェイプ等)の描画及び削除 - 花ちゃん 2007/08/18 ----------------------------------------------------------------------------------- '☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ 'Excel 操作部分(図形の描画及び削除) '雲形吹き出しを描画 xlSheet.Shapes.AddShape msoShapeCloudCallout, 100, 30, 100, 40 'ブロック矢印を描画 xlSheet.Shapes.AddShape msoShapeRightArrow, 100, 100, 50, 50 '終端が三角形の矢印を描画 With xlSheet.Shapes.AddLine(100, 200, 250, 200).Line .EndArrowheadLength = msoArrowheadLong .EndArrowheadStyle = msoArrowheadTriangle .EndArrowheadWidth = msoArrowheadWide .Weight = 5# End With
Dim shp As Excel.shape For Each shp In xlSheet.Shapes Debug.Print shp.Name Next
'3秒間表示しておく xlApp.Wait Now + TimeValue("0:00:3") '図形を個別に削除する場合 xlSheet.Shapes(1).Delete xlApp.Wait Now + TimeValue("0:00:1") '全ての図形を選択 xlSheet.Shapes.SelectAll '選択されているものを削除する xlApp.Selection.Delete '☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
|