- ベストアンサー
※ 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で正常に動作させるための修正方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> objBook.Names ヘルプには、 『指定されたブックのすべての名前 (すべてのワークシートの名前を含む) を表す Names コレクションを返します。値の取得のみ可能です。Names コレクション オブジェクトを使用します』 とあります。 さらに使用例も載っています。 objBook.Names は名前の定義で作成した名前のコレクションです。 ブックの名前のことではありません。 http://officetanaka.net/excel/vba/file/file04.htm 具体的な添削回答はいたしません。
その他の回答 (1)
- nicotinism
- ベストアンサー率70% (1019/1452)
回答No.1
>宣言で"Excel.~"となっているところでコンパイルエラー VBE で、ツール→参照設定で Microsoft Excel X.X Object Library にチェックを入れてください。 X.X は環境によって変わります。たぶん12.0。 そうすればインテリセンスなどが働きますので、楽できますし XlHAlign などのExcelの定数もそのまま使えます。
質問者
補足
いつもありがとうございます。 参照設定を変えることでコンパイルエラーはなくなりました。 ただ、もう1点教えてください。 >lngCountSheet = objBook.Names.Count (1)←ここ のところで0件となってしまします。 Set objBook = XLAPP.Workbooks.Open("D:\aaa.xls") の件数ですので、1件となる気がするのですが0件となるのはどうしてでしょうか? その為、 For Each objName In objBook.Names で中の処理に入らず抜けてしまいます。
お礼
For Each objName In objBook.Names のところが解決できずでしたが、別の方法で解決できました。 ありがとうございました。