• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:こんばんわ。)

CSV→Excelに変換の流れとデータ取得の問題

このQ&Aのポイント
  • CSV→Excelデータの取り込みにおいて、特定のデータがうまく取得できず、CSVでは空白が出力される現象が発生しています。原因が分からず、一時的にデータ取得を止めてマクロを使用した比較テストを行いました。結果として、修正前のExcelではうまく値を取得できることが分かりましたが、他の端末での検証では再び値を取得できない問題が発生しました。
  • 自分の端末のみでデータを取得できる現象が起きた後、Excelの再インストールを試みましたが、問題は解決しませんでした。これらの現象について、なぜ起きているのか理由を特定することはできません。
  • 問題の原因や解決策について分からないため、CSV→Excelにおけるデータ取得の問題が解決する方法を探しています。

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

>・本来その列に入るデータは文字列で、だいたいどれも800バイト前後。 >そのセルをクリックするまでは"#########"で文字化け?している。 との事なので、文字列の長さ制限にひっかかってるだけでしょう。 読めたり読めなかったりしたのは、25行目までにその列の最大文字数のデータがあったかどうかの違いです。 (25行目まででデータをスキャンして読み込むデータ型が判断されていると思われます) "#########"となっているのはExcel側のセル書式設定が「文字列」になっているからです。 [標準]にしてみてください。 試しに、読めないCSVファイルのデータ列の1行目に、 =rept("a",911) などとして作った911文字のダミーデータを置いて読み込んでみてください。 >・並びも含め全く同一のCSVデータか確認してみる と書いたハズだったんだけど。 #911文字...Excel2003でCopyFromRecordsetを使っていた場合、 #912文字以上はエラーで書き込めない為。

ddtanaka
質問者

お礼

ありがとうございます。 確かに911文字の挿入することで 解決しました。 Excelにも知らないことがたくさんあるんだなぁと思いました。 質問自体もわかりにくいのにうまく読み取ってくださって 本当に助かりました。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

情報不足なので明確に答える事ができるわけではありませんが、 全く同じデータを使って、端末によって違いがある場合、 ・Excelのバージョン、spの違い ・ADOのバージョン違い ・OSのバージョン違い ・他アプリケーションの影響によるレジストリ設定違い ・Schema.iniファイルの存在 ...などが可能性として考えられます。 再インストール後も違いがあるという事なので Excel以外の環境である事は確かですよね。 その場合、原因の追求は難しいのではないでしょうか。 詳細を調べて情報開示が必要になってくると思われます。 最低限、実行コードとテストデータ、貴方の環境情報の提示が必要でしょう。 #提示があったとしても回答側で再現できなければ厳しいかと思いますが なので、確認のポイントとしては ・並びも含め全く同一のCSVデータか確認してみる ・CSV同一フォルダのSchema.iniファイルの有無を確認してみる ・OS、Excelのバージョン等、できるだけ環境が近いものでテストしてみる ・ADOで使用したプロバイダやドライバのレジストリ値の設定を確認してみる などが挙げられますので、質問者さんご自身で検証なさってみてください。 #提示可能ならこちらでテストしてみても良いですが。 最終的にどの端末でも取得できるようにしたいという事なら、 ・Schema.iniファイルを使う ・ADO以外の手法(例えばQueryTablesなど)に切り替える 等、検討されてはいかがでしょう。 (参考) http://support.microsoft.com/kb/257819/ja Excelへの接続ですが、Textデータ取り込み時も共通する事項がありますので 参考になるかもしれません。

ddtanaka
質問者

補足

回答ありがとうございます。 Excelのバージョンの変更を行う前に(同じバージョンのExcel) 取得出来なかったデータが取得出来るようになりました。 よって、ご回答にあったバージョンの違いではなさそうです。 また、データが取得できない端末にてそのパターンを調べましたところ、 以下のような状態でした。 ・データ約500件中、取得出来ていないデータは一つの列で、約30件ほどあった。 ・本来その列に入るデータは文字列で、だいたいどれも800バイト前後。  (正しく出力されているデータでもだいたい同じくらい) ・出力されているExcelでのデータをみてみると、、 そのセルをクリックするまでは"#########"で文字化け?している。  (正しく出力されているデータでも"########"で表示されているデータが存在する。) ・その行のみの1行のCSVで取込むと取得される。 と規則性があまり見つからない状態でした。 出来ることならこのことの原因と対策を見つけ出したいところですが、 ご指摘の通り、Schema.iniファイルやADO以外の手法を用いることも 検討している次第です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCEL2000のマクロ(ADO)にてCSVデータ取得しようとしたら

    EXCEL2000のマクロ(ADO)にてCSVデータ取得しようとしたら取得出来ないデータがあります。 前にも質問させていただいたのですが、 CSVデータを取得しようとした時に取得出来ないデータ(文字列)があります。 初めはADOのデータ取得部分のマクロが間違えていると思っていましたが、 特に間違えている事もありませんでした。 悩んでいる内に私の端末ではいつの間にか取得出来ていなかったデータが取得出来るように なっていました。 (この間にマクロをいじったりはしていません。しかし何かしらの設定を触ってしまった 可能性はあります。) おかしいと思い、他の端末で同じマクロとCSVデータにて検証を行ってみると、 やはりデータの取得は出来ていませんでした。 なぜ私の端末だけうまくいくようになったのかがまったく検討もつきません。 OFFICEの再インストールも行ってみましたが、やはり自分の端末ではうまくいって、 他の端末ではデータは取得出来ないようでした。 情報が少なすぎる&あいまいな表現になってしまいましたが、 この原因はどのようなことが考えられるか、どなたかご教授いただけないでしょうか?

  • エクセル マクロでのエクセルファイル取込について

    エクセルで別のエクセルファイルをマクロで取込み、取込したデータを自動で任意の場所にデータが入力されるようなものを作りたいと考えています。 csvデータの取込は作ることが出来たのですが、エクセルファイルをcsvデータのように取込することは出来ないでしょうか? 出来ないとしたら、取込したいエクセルファイルを一度csvで保存してからcsvとして取込するというやり方で対応するしかないでしょうか? 出来れば、取込したいエクセルファイルのシートが複数にわかれていて、全シートの情報を取込したいと考えているので、エクセルのままで全シート取り込めれば・・と思います。 何か上記の方法でなくとも、最善の方法(一番工数が少なく済む方法)があれば教えていただきたいです。 よろしくお願いします。

  • 【詳しい方HELP】CSV取込、並び変えマクロ

    CSV取込により、添付画像のフォーマットに値で貼り付けし、昇順に並び変え、 印刷が出来るマクロが出来ないか考えていますが、何から手をつけていいのか分からない ため、詳しい方ご教授お願いします。 ■したいこと (1)CSVを取込し、値で添付のようなフォーマットに貼り付けしたい  6行目でいうと、CSVのそれぞれの以下のセルの値がエクセル表の以下のセルに  値で貼り付くようになります。  ※エクセル表は5行目がタイトル行になります。  ※コピー後の貼り付けは値で貼りつけしたい       エクセル表 B6 C6 D6 E6 F6 G6  CSV   A2 B2 E2 F2 I2 L2 (2)昇順に並び変えをしたい  G列は数字になりますので、昇順で並び変えをしたい (3)値が入っている範囲で印刷をしたい。  CSV取込によりセットした値の印刷範囲で自動で印刷するようにしたいです。 すみませんが、宜しくお願いします。

  • EXCELにcsv形式の外部データを取り込む際にカンマ区切りで取り込も

    EXCELにcsv形式の外部データを取り込む際にカンマ区切りで取り込もうとした場合、csvデータの同一セル内に改行データがあると、ずれて表示されてしまいます。 改行を取り除くのはclean関数があることは知っていますが、マクロを利用して、EXCELのデータ→外部データの取り込みの選択だけで取り込む方法はないでしょうか?ご教示ください。

  • パフォーマンスについて

    ASPからExcelの既存マクロを実行させようとしております。 既存マクロでは、シート上の値を参照集計して、帳票を出力していました。 これを、次の2つの方法のうちでどちらの方がパフォーマンスが良いか悩んでいます。 ----------------方法(1)---------------------------- ・ASP側でDBから値を取得する。 ・取得したデータをCSVする。 ・ASPでExcelを起動させる際にCSVを読み込ませて、既存シートと同じ体裁のシートを自動作成する。 ・既存マクロの実行 -------------------------------------------------- ----------------方法(2)---------------------------- ・ASP側でDBから値を取得する。 ・ASPでExcelを起動させ、既存シートと同じ体裁になるように、取得したデータを セルに代入する。(シートの自動作成) ・既存マクロの実行 -------------------------------------------------- とあるHPで、方法(1)の方が、方法(2)よりもパフォーマンスが良かったそうなのですが、本当にそうなのでしょうか? あと、IF文のネストとSELECT CASE文は、どちらがパフォーマンスが良いのでしょうか? ご教授願います。

  • VBSで空白の制御ができない

    勉強中の身ですが、行き詰ったので質問です。 VBSで2つのCSVファイルを読み込み、内容の異なるレコード、カラムを検知して差異があるレコードを取得させたいです。 CSV自体はカラムごとに「""」で囲ってありカンマ区切りです。 ADOで接続して各カラムごとの比較をする部分で両方とも空白のカラムを比較すると異なったときの分岐に進んでしまいます。 echoでそれぞれのデータを見ても「空白」に見え、実際のCSVも「""」となっています。 lenで長さ0で比較とかtrim後の比較をしてもどちらも同じに見えます。 どのようにすれば「同じ」データとして分岐処理を行えるでしょうか?

  • 外部データの取り込みをマクロで実行したい

    MAGICというプログラムソフトでできたデータを「外部データの取り込み」でExcelに取り込むことはできます。(これはプログラム開発者に設定してもらいました。)しかし、この取り込む作業をマクロに登録して、いざ実行したくてもマクロ名が空白で実行できません。どなたか、宜しくお願いします。

  • excelのマクロでファイル一覧取得,グラフ作成

    以下のような作業をするために,EXCELのマクロを組もうと考えています. 指定したフォルダ以下のCSVファイルを取得(サブフォルダも含む)  ↓ 見つけたCSVファイルをエクセルで開き,値が含まれている範囲を選択してグラフを作成  ↓ "*.xls"として保存 エクセルのマクロは初めてなので,どうコーディングすればいいか全くわからず困っています. どなたかご教示くだされば幸いです. よろしくお願いいたします.

  • 大量の外部データの取り込み(エクセル)

    大量のcsvデータを、 外部データの取り込み→データの取り込み→csv呼び出し →テキストファイルウィザード を使って取り込んでいます。 この同じ動作をマクロ登録するにはどうすればいいか。 または、もっと簡単な登録の仕方はないでしょうか? よろしくお願いいたします。

  • マクロの並行処理について

    あるサーバーにおいてあるCSVを読みに行く常駐ソフト(AAA.exe)があります。 これとエクセルが連携していて、エクセルのセルに =AAA|a とか =AAA|b とか入力しておくとCSVのaやbの値がセルに入力されます。 この常駐ソフトはリアルタイムに動いて、CSVは1秒ごとに新しいデータに書き換えられるので、エクセルのセルの値も当然1秒ごとに新しい値に変わっていきます。 これを動かしながら、マクロを別でくんで、こちらはタイマーを設定して、10秒ごとにある特定のセルの値を見に行き、そのセルの値がある規定値以上になると、プログラムを走らせるようにしています。 朝の9時前後には規定値をこえるため、マクロのプログラムが動かなければいけないのですが、いつも10時過ぎになってやっと動きます。 また、セルの値もすべてのデータをとりにいかず部分的にしか入力されません。 これは常駐ソフトでエクセルにデータをどんどん入力している上で、さらにマクロを動かしているから、並行処理ができずに動作が不安定になっているのでしょうか? ちなみにマクロのタイマーは DoEvents Sleep (10000) で10秒またせた後に規定値以下ならば再起呼び出しで自分自身を呼び出すようになっています。 分かる方、もしくは予想でもいいので何かヒントとなるものが得られればと思います。 アドバイスよろしくお願いします。

印刷に関する疑問
このQ&Aのポイント
  • 印刷時に白紙が排出される問題についての疑問です。
  • EPSON社製品の印刷において、白紙が排出される現象が発生しています。
  • 印刷作業を行う際に、白紙が自動的に排出される仕様について知りたいです。
回答を見る

専門家に質問してみよう