エクセルシート1が見つかりませんとメッセージされます。 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 るきお  (社会人) 投稿日時 2009/1/22 21:59:25
こんにちは。

>>かなりヒントが少ないですが知っている人にはわかるものなのでしょうか?

>ヒントが少なすぎたのは申し訳ない。
>しかし、言い訳をさせてもらうと、質問者の状況説明も少ないので現状を推理することも難しい。
「ヒントが少ない」というのはまさに質問者のクウさんの説明が少ないという意味で使いました。
直前のnさんの投稿中にある「ヒント」とかぶってしまったのは偶然です。
紛らわしい表現で失礼しました。

しかしながら、みなさん少ない手がかりの中推理を展開されており興味深く読みました。
投稿者 neptune  (社会人) 投稿日時 2009/1/22 21:06:30
こんにちは

MSJET35.DLLと参照の関係がよく判らんですよね。
> シート1がありません。作成してください
多分自前のメッセージの予感。

DBオブジェクトを使っているんなら、バージョンによって、可不可があるんで、
多分Jetエンジンのバージョンかサービスパックか?MSJET35.DLLは古いもんですから。

こんな事書いてもかすかに放置の予感。。。
投稿者 るしぇ  (社会人) 投稿日時 2009/1/22 19:59:42
> MSJET35.DLLがあればよいと思っていたのですが
わざわざこんな事を書くからには ADO で Excel に接続している
のかも。。。通常は参照設定してから Excel オブジェクトに
直接アクセスしますから、この時点で、
> VB6でエクセルファイルのシート1を参照するソフトを作りました。
どちらの方法を使っているのか説明できてないですよね。
それでは解決方法は示せません。説明してください。

> シート1がありません。作成してください
見た事がないエラーメッセージですが、
システムが出しているエラーメッセージを正確に書き写したのですか?
『作成してください』なんて言わないと思いますが。
独自のエラーメッセージなら、何してるか(何が起こってるか)分からない
のに対処方法が示せると本気で思っているということでしょうか???
投稿者   (社会人) 投稿日時 2009/1/22 17:59:50
>かなりヒントが少ないですが知っている人にはわかるものなのでしょうか?

ヒントが少なすぎたのは申し訳ない。
しかし、言い訳をさせてもらうと、質問者の状況説明も少ないので現状を推理することも難しい。

なので、

>パソコンに入っているエクセルのバージョンが2000では OK、2002、2003ではエラーが出ます。

という部分より参照設定で「Microsoft Excel x.x Object Library」が設定されていると判断した。
設定されているだけだと問題はないんだけど、
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook

Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("Excelファイルのパス")

というようにExcelオブジェクトを使用したりバージョン特有の機能なんかを使用していると、参照設定されている固定のバージョンでしか動作しないから。

で、Excelのバージョンに依存しないようにするための調べるキーワードとしてだしたつもり。


一応、質問者に代わって今分かっていることを書き出してみようか。
バージョン:VB6
プログラム内容:Excelファイルを参照するもの
状況:「シート1がありません。作成してください。」とのメッセージが出る。
Excel 2000 ・・・問題なし
Excel 2002, 2003・・・エラー有り
投稿者 neptune  (社会人) 投稿日時 2009/1/22 07:30:46
なぞなぞみたいですが、
貧しい想像力を働かすとこの辺りと思うんですが?
http://support.microsoft.com/kb/239114/ja
http://support.microsoft.com/kb/303528/

やはり環境と、ソースは必要ですね。
投稿者 るきお  (社会人) 投稿日時 2009/1/22 04:12:55
かなりヒントが少ないですが知っている人にはわかるものなのでしょうか?

一般的にはその処理をどう作っているかによって対処法も異なると思います。
どのようにプログラムしていますか?
できればプログラムをそのままコピー&貼り付けしてください。
投稿者   (社会人) 投稿日時 2009/1/22 00:52:43
ヒント:事前バインディングと遅延(実行時)バインディング
投稿者 クウ  (社会人) 投稿日時 2009/1/21 23:40:55
VB6でエクセルファイルのシート1を参照するソフトを作りました。インストールしたパソコンによっては、シート1がありません。作成してくださいとメッセージが出ます。
 パソコンに入っているエクセルのバージョンが2000では OK、2002、2003ではエラーが出ます。
 MSJET35.DLLがあればよいと思っていたのですが、そうでもなかったようです。対処方法を教えてください。