tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
図形(オートシェイプ等)の描画及び削除(VB6.0 基本編) ( No.17 )  [親スレッドへ]
日時: 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
    
'☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆



 [スレッド一覧へ] [親スレッドへ]