みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelインポート時にエラー

お世話になります。

Access2010
Excel2010

あるExcelファイル(2003形式)をAccessにインポートした際、以下のエラーが出ました。

「ファイル '<パス\ファイル名.xls>' の情報にアクセスできません。ファイルが存在し、形式が正しいことを確認してください。 」

調べたところ以下の情報がありましたが、当該Excelファイル以外のインポートは問題無くでき、他のPCでも同症状が出るので、該当しないとの認識です。
http://support.microsoft.com/kb/283881/ja

Accessへのインポート作業は毎日行っておりますが、先日より急にエラーがでるようになりました。

色々試したところ、
・エラーの出るExcelファイルを開き、別の名前で保存し、そのファイルをインポートしてもエラー。

・エラーの出るExcelファイルを「開いて修復する」で修復して保存し、そのファイルをインポートしてもエラー。

・新規Bookを作成し、エラーの出るExcelファイルのシートコピーし、その新規Bookをインポートすると問題無し。

・エラーの出るExcelファイルを開いて.xlsx形式で保存し、そのファイルをインポートすると問題無し。

・上記の.xlsxファイルを.xls形式で保存し、そのファイルをインポートすると問題無し。

上記の結果から、作成し直すことによりエラーは解消されておりますが、原因としてはどのようなことが考えられますでしょうか。

インポート時にエラーの出るExcelは
 ・フィールド(見出し)は100程度
 ・行は50,000行程度
 ・ファイルサイズは46MB
です。

行数やサイズの問題かと思い、行を削除しサイズを減らした状態でインポートしてみましたが、やはりエラーとなってしまいました。
また、表外の列及び行も念のため削除しましたが状況変わらずでした。

なお、エラーの出るExcel自体は普通に開くこともでき、追加/修正/削除も可能で保存もできます。


ご教授の程、宜しくお願い致します。

投稿日時 - 2014-06-27 13:17:07

QNo.8655400

すぐに回答ほしいです

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

Excel、Access 両方とも2010 でExcelファイルは全てXLSX形式で

 1.AccessからExcelにエクスポート ← このファイルのインポートOK
 2.上記Excelに書式をコピペ ← このファイルのインポートOK
 3.上記Excelに対して追加/修正
 4.上記ExcelをAccessにインポート ← このファイルのインポートNG
した場合でも、インポート時にエラー発生・・・ということですよね?

この問題は不明ですが、インポート時にデータが切り捨てられるのは
http://okwave.jp/qa/q7543021.html
の検証が役立つかもしれません。
なお、
>Docmd.transferText ・・・でインポート定義名(SpecificationName)を
>利用できるのですが、TransferSpreadSheetでは無いですね。
ですが、
Docmd.RunSavedImportExport("保存した定義名") が2007からあります。
http://office.microsoft.com/ja-jp/access-help/HA010171498.aspx
私からは以上です。

投稿日時 - 2014-07-01 13:01:05

お礼

NotFound404

ご回答ありがとうございます。

>http://okwave.jp/qa/q7543021.html

についてですが、これは以前私が投稿させて頂いたものですね(笑

もう2年経っているのに未だ検証もしておらず。
Office2003のサポート切れる前に対処しないとと思っておりましたが、なんだかんだでズルズル2003を使っている次第です。

インポートNGの件ですが、水曜は問題なくインポートでき、昨日はNGでした。
Excelの更新は普段通りにやったということなので、何か特別に対処してインポートできたという訳ではありません。なので、余計に訳分からなくなってきました。

とりあえずもう少し調べたいと思います。
あと、近日中に2010に切り替えるようにしたいと思います。

色々ありがとございました。

投稿日時 - 2014-07-04 17:09:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

なるほど、失礼しました。
XLSX形式でエクスポートするわけには行かないのでしょうか?
2003ユーザーの存在?
XLS形式(互換モード)の何かがマズいのでしょうかね。

投稿日時 - 2014-06-27 17:38:55

お礼

NotFound404さま

ご回答ありがとうございます。

>XLSX形式でエクスポートするわけには行かないのでしょうか?

説明不足で申し訳ございません。
備考フィールドの文字数が1000程あるセルがあり、Access2003だと問題無くインポートできますが2010だと途中で文字が切れてしまう不具合がありました。

よって、通常の運用ではインポートする際はAccess2003を使用しております。

テストの際は途中で文字が切れてもよいので、Access2010を使用しました。
なお、インポート時に2003、2010ともに同じエラーが出ます。

投稿日時 - 2014-06-30 09:16:39

ANo.2

Excelも使いまわしていると段々とゴミが溜まって行きます。
私のお腹のように気が付くと。。。
なので試された処理が必要になってきます。↓
http://excel-master.net/file-operation-and-save/file-diet/

投稿日時 - 2014-06-27 15:53:35

お礼

NotFound404さま

ご回答ありがとうございます。

aokiiさまに返信させて頂きました通り、一つのExcelファイルをずっと使い続けている訳ではございません。

追加/修正したExcelをAccessにインポートし、情報を付加後、Excelにエクスポートし、そのファイルを追加/修正し・・・といった運用です。なので、毎日再作成しているのと同じかと思われます。

なお、AccessからエクスポートしたExcelは罫線や書式設定がされていないため、追加修正したExcelから書式をコピペしてます。
この書式のコピペが原因かと思ったのですが、エクスポート直後のExcelに書式をコピペして、そのファイルをインポートしてみたらエラーになりませんでした。

なので、まとめると 
 1.AccessからExcelにエクスポート ← このファイルのインポートOK
 2.上記Excelに書式をコピペ ← このファイルのインポートOK
 3.上記Excelに対して追加/修正
 4.上記ExcelをAccessにインポート ← このファイルのインポートNG

となります。

Excelを編集してるときに何か不具合(ファイル破損?)が生じているのかもしれません。

投稿日時 - 2014-06-27 16:12:05

ANo.1

原因としてはxlsとxlsxの互換性問題が考えられます。フィールド(見出し)、行、ファイルサイズとも大きいですね。

2003は、256列、65536行、1セルあたりの文字数は32767文字です。
10MBを超えるようなファイルを使うと破損確立が高くなり危険です。

投稿日時 - 2014-06-27 15:33:17

お礼

aokiiさま

ご回答ありがとうございまいます。
確かに列数、行数ともに多いのですが、6、7年前から先週まで問題なく運用できておりました。
日々Excelファイルに追加/修正を行っている為、以前にくらべるとサイズは大きくなってますが。。

なお、一つのExcelファイルをずっと使い続けている訳ではなく、追加/修正したExcelをAccessにインポートし、情報を付加後、Excelにエクスポートします。このファイルを翌日使って追加/修正し・・・という運用です。

質問にも記載致しましたが、数千行を削除してサイズを減らした状態でインポートしてみましたが、それでもエラーとなったので、確かにサイズが大きくなることによって破損しやすくなるのかもしれませんが、今回の色々試した結果からするとサイズはあまり関係ないように見受けられます。

投稿日時 - 2014-06-27 16:01:27

あなたにオススメの質問