• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vb→access コーディングエラーについて)

vb→access コーディングエラーについて

このQ&Aのポイント
  • VBコードをAccessに移行する際、エラーが発生する問題についての質問です。特定の箇所でコンパイルエラーが発生し、ユーザー定義型が未定義であるというエラーメッセージが表示されます。また、Object型に変更しても問題が発生し、objBook.Names.CountやobjBook.Namesの取得ができないという問題も発生しています。Accessで正常に動作するように修正する方法を教えてください。
  • VBコードをAccessに移行している際、特定の箇所でコンパイルエラーが発生し、ユーザー定義型が未定義であるというエラーメッセージが表示されます。Object型に変更しても問題が解決せず、objBook.Names.CountやobjBook.Namesの取得ができないという問題も発生しています。Accessで問題なく動作させるための修正方法を教えてください。
  • VBコードをAccessに移行している際に発生している問題について質問です。特定の箇所でコンパイルエラーが発生し、ユーザー定義型が定義されていないエラーメッセージが表示されます。Object型に変更しても問題が解決せず、objBook.Names.CountやobjBook.Namesの値を取得することができません。Accessで正常に動作させるための修正方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

> objBook.Names ヘルプには、 『指定されたブックのすべての名前 (すべてのワークシートの名前を含む) を表す Names コレクションを返します。値の取得のみ可能です。Names コレクション オブジェクトを使用します』 とあります。 さらに使用例も載っています。 objBook.Names は名前の定義で作成した名前のコレクションです。 ブックの名前のことではありません。 http://officetanaka.net/excel/vba/file/file04.htm 具体的な添削回答はいたしません。

noname#208236
質問者

お礼

For Each objName In objBook.Names のところが解決できずでしたが、別の方法で解決できました。 ありがとうございました。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

>宣言で"Excel.~"となっているところでコンパイルエラー VBE で、ツール→参照設定で Microsoft Excel X.X Object Library にチェックを入れてください。 X.X は環境によって変わります。たぶん12.0。 そうすればインテリセンスなどが働きますので、楽できますし XlHAlign などのExcelの定数もそのまま使えます。

noname#208236
質問者

補足

いつもありがとうございます。 参照設定を変えることでコンパイルエラーはなくなりました。 ただ、もう1点教えてください。 >lngCountSheet = objBook.Names.Count (1)←ここ のところで0件となってしまします。 Set objBook = XLAPP.Workbooks.Open("D:\aaa.xls") の件数ですので、1件となる気がするのですが0件となるのはどうしてでしょうか? その為、 For Each objName In objBook.Names で中の処理に入らず抜けてしまいます。

関連するQ&A