tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Excel.Shape グループ化について
投稿日: 2005/06/03(Fri) 15:21
投稿者ぐる
[OSのVer]:WindowsXP SP2  [VBのVer]:VB.NET  

いつも参考にさせてもらってます。

ここのExcelTipsを参考に.netから要素等をExcelに投げグラフを作り、
PictureBoxに取得させるまではできたのですが、
望む結果としてはグラフとあるオブジェクトを同じPictureBoxに表示させたいのです。
別々にShapeとChartを宣言し作成後PictureBoxに貼り付けても当然どちらかが上書きされます。
そこでグループ化をさせようとしているのですが、以下のポイントでエラーが発生します。

            Dim xlShapes As Excel.Shapes
            Dim xlShape1 As Excel.Shape
            Dim xlShape2 As Excel.Shape
            Dim xlShape3 As Excel.Shape
            Dim xlShapeRange As Excel.ShapeRange
            Dim xlShapeAL As New ArrayList
            xlShapes = xlSheet.Shapes
            xlShapes.AddShape(Office.MsoAutoShapeType.msoShapeOval, 103, 190, 6.75, 6.75)
            xlShape1 = xlShapes.Item(1) 'ここより上の場所でグラフを宣言していてそのIndexは1
            xlShapeRange = xlShapes.Range(2)
            xlShapeRange.Fill.ForeColor.SchemeColor = 8
            xlShape2 = xlShapes.Item(2)
''''''''''''''''''''''↓
            xlShapeAL.Add(xlShape1)'xlShapeAL.Add(1)'obj指定もindex指定もだめでした
            xlShapeAL.Add(xlShape2)'xlShapeAL.Add(2)'
            xlShapeRange = xlShapes.Range(xlShapeAL)'エラーポイント
''''''''''''''''''''''↑
            xlShape3 = xlShapeRange.Group()
''''''''''''''''''''''↓
            xlShape3.CopyPicture(Appearance:=Excel.XlPictureAppearance.xlScreen, _
                     Format:=Excel.XlCopyPictureFormat.xlBitmap)
      '以下PictureBox貼り付け 省略
''''''''''''''''''''''↑
開放は省略

テストでマクロ記録されたVBA文を見て
(省略)shapes.range(array(obj名1,obj2名)).select
で複数選択になっているようでしたので
ArrayListではなくArrayも使用してみたのですがよくわかりませんでした。

どなたかグループ化に関してご教授願います。
また、グループ化しないでいけるやり方もありましたらよろしくおねがいします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。