アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6 オートシェイプ描画

VB6でExcel,2000(ActiveSheet)にオートシェイプを使用したいのですが、エラーが出てしまいます。
コマンドボタンクリック時、エラー
-------------------------------
実行時エラー'1004':
指定された値は境界を超えています。
-------------------------------
AddLineは出来たのですが四角や円がこのエラーです。どこが間違えているのでしょうか?
宜しくお願いします。
Private Sub CB13_Click()
Dim xlApp As Excel.Application
Set xlApp = GetObject(, "Excel.Application")
xlApp.ActiveSheet.Shapes.AddLine 50, 50, 100, 100 '(OK)
xlApp.ActiveSheet.Shapes.AddShape(msoShapeRectangle, 50, 50, 100, 100).Select '(NG)
Set xlApp = Nothing
End Sub

A 回答 (1件)

参照設定が不十分だからでしょう


msoShapeRectangleが定義されていないので 0として扱われてしまうために後ろの引数が矛盾してしまうのだと思います

『Microsft.Office xx.x Object Library』の参照設定追加するか
Const msoShapeRectangle = 1 を モジュールの冒頭または標準モジュールに記述しましょう
    • good
    • 1
この回答へのお礼

参照設定と記述を別々に試したところ、どちらも出来ました。
>参照設定が不十分
>0として扱われてしまうために後ろの引数が矛盾してしまう
これに対する参照設定のやり方
的確な回答を有難う御座いました。

お礼日時:2010/05/18 14:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!