タイトル : 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でのやり方を調べてみましたが、発見できませんでした。 何かよさそうな方法を是非ともご教授いただきたくお願いいたします。 どうぞよろしくお願いします。 |