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

タイトル VB2008で、単一のExcel.Shapesオブジェクトの取得方法
投稿日: 2009/09/07(Mon) 11:02
投稿者camputer
 こんにちは、質問させていただきます。どうぞよろしくお願いいたします。
 プログラム履歴役10年+VB履歴1年弱です。
開発環境はXP+VB2008+Excel2003になります。

 先日、オブジェクト開放の目的でアドバイスいただけて
      For Each xlSheet In xlSheets

      Next
のようなEach指定をすべて
            Dim iSheetMAX As Integer = xlSheets.Count
            For iSheet = 1 To iSheetMAX
        xlSheet = xlSheets(iSheet)

            Next
のように修正しております。

 そこでPPTやExcelでほとんどのコードを修正できたのですが、
        Dim xlShape As Excel.Shape
        Dim xlShapes As Excel.Shapes
についての場合のみ
    xlShape = xlShapes(i)
で、エラー「インターフェイス'Microsoft.Office.Interop.Excel.Shapes'には既定の
プロパティがないため、インデックス処理を実行できません。」となってしまいます。

 いろいろと調べておりますと、VB2005ではそれが出来たようなのですが、
http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.excel.shapes(office.11).aspx
に「単一の Shape オブジェクトを取得するには、Shapes(index) を使用します。」
とあります。
 VB2008でのやり方を調べてみましたが、発見できませんでした。
何かよさそうな方法を是非ともご教授いただきたくお願いいたします。
どうぞよろしくお願いします。

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

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