• 締切済み

InDesign CSV データ結合

InDesign CS4 で CSVファイルからデータ結合を しようとしています。 CSVを読み込みましたが、部分的に読み込まれない部分があります。 CSVの改行を削除をしたりしていますが、解決できません。 改行以外の原因は他にありますか? セル内のデータには、 10:00~12:00 14:00~21:00 という文字列が含まれますが、 それらも読み込まれている箇所と、そうでない箇所があります。

みんなの回答

回答No.2

EXCELで開けない? 途中まで表示されているんなら、そこの行の改行か、途中の区切り文字が壊れているのでは?? もし全然開けない場合は、これを使ってみてください。 問題のファイルの、問題の行の頭の方は見えると思います。。 EXCELのVBAマクロですが、これでCSVを作業中のシートに表示できます。 行数は、xRowsに指定する。0は全行になる。 '選択されたCSVファイル(限定)のデータを指定行数分だけアクティブシートに貼付け 'CSVファイルの区切り文字はカンマに限らない 'GetOpenFilenameメソッドで[ファイルを開く]ダイアログボックスを表示 Sub Get_Open_FileName() Const xHeadSkip = 0 Const xRows = 0 Const xDelimiter = "," Dim OpenFileName Dim sh As Worksheet Dim rn As Range Dim jj As Long Dim kk As Long Dim nn As Long Dim Fno As Long, txtData, arrData ActiveSheet.UsedRange.Delete Set wScriptHost = CreateObject("Wscript.Shell") 'カレントディレクトリ:デスクトップ ChDir wScriptHost.SpecialFolders("Desktop") 'フォルダ内全ファイルを対象にする OpenFileName = Application.GetOpenFilename("CSVファイル,*.csv") If OpenFileName <> False Then Fno = FreeFile Open OpenFileName For Input As #Fno For jj = 1 To xHeadSkip '先頭から指定行数分スキップ Line Input #Fno, txtData Next jj nn = 0 ActiveSheet.Range("A1").Offset(nn, 0).Value = OpenFileName & " >>" Do While Not EOF(Fno) nn = nn + 1 Line Input #Fno, txtData '区切り記号がカンマ以外の場合は、Split関数の第2引数を変更 arrData = Split(txtData, xDelimiter) xColumn = UBound(arrData) If (UBound(arrData) >= ActiveSheet.Columns.Count - 1) Then xColumn = ActiveSheet.Columns.Count - 1 MsgBox ("Broken File?? :" & OpenFileName) End If 'xColumn = Application.WorksheetFunction.Min(UBound(arrData), ActiveSheet.Columns.Count - 1) For kk = 0 To xColumn '引用符を削除:セル単位に処理 ActiveSheet.Range("A1").Offset(nn, kk).Value = Replace(arrData(kk), """", "") Next kk '指定行数分だけ If (xRows <> 0) and (nn > xRows - 1) Then Exit Do Loop Close #Fno End If 'ActiveSheet.Columns("A:B").AutoFit ActiveSheet.Columns("B").AutoFit ActiveSheet.Select End Sub

kitkatmarsbarr
質問者

お礼

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

  • yuching
  • ベストアンサー率80% (4/5)
回答No.1

セル内のデータということはExcelで入力してcsv形式に保存ということでしょうか? 原因として考えられるのは。 Excelであれば読み込まれていないセルの書式設定の表示形式が「文字列」になっていないからかもしれません。

kitkatmarsbarr
質問者

お礼

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

関連するQ&A

  • InDesignを使用したデータ結合について

    InDesignを使用したデータ結合について InDesignを使用して冊子の編集をしているのですが、データ結合がうまくいきません。具体的に言いますと、左右のページでデザインが異なっているために、一括でデータの結合をしてしまうと、デザインがずれてしまうのです。へたくそですがお絵かき添付をいたしましたので参考にしてください。 デザインはマスターページで保存しており、そのマスターを1ページから適用しているのですが、その状態でデータ結合をしてしまうと、右側のページばかりができてしまいます。csvファイルで保存してあるデータを左、右、左、右と言う風に適用していくことはできないのでしょうか? 初心者で勉強不足ということもあるのですが、どうぞご回答のほどよろしくお願いいたします。

  • InDesign データ結合で作成した結合ドキュメントに関して

    InDesign データ結合で作成した結合ドキュメントに関して データ結合で作成した結合ドキュメントに、添付のようなカラフルな[]が付いてしまいました。 プレビュー時は見えなのでいいのですが、以前データ結合を行った時は このような現象はおきませんでした。 調べようにも、どのキーワードでもヒットしないので、質問させてください。 この原因と解決策をご存知の方いらっしゃれば、教えていただけないでしょうか。 どうぞ、よろしくお願いいたします。

  • セル内改行されたCSVを外部データ取り込みすると認識しないです

    エクセルで質問です。セル内改行されたCSVデータを再度外部データ取り込みすると改行の部分が認識されずセルがずれてしまいます。セル内改行された所は、『"』で囲まれております。『"』を文字列の引用符で指定しましたので『"~"』は文字列で認識されると思っていましたが、途中の『↑』改行コードでセルを区切ってしまいます。どのように対処したら良いでしょうか?エクセル2003を使ってます。 (ちなみにアクセスにインポートすると、改行は認識しませんが『"』は認識します。)

  • EXCELで文字データを結合するには?

    D列のセル内のデータと、E列のセル内のデータを結合させたいと思って、F列にD1&E1という風に指定してみて、うまくいったのですが、このやり方ではD列とE列を削除してしまうと、エラーが出てしまいますよね。 他のやり方で文字データを結合できるんでしょうか。あるいは、数式の結果を単なる文字列(?)に変換して、もともとの参照データを削除してもエラーがでなくしたり、できるんでしょうか?

  • CSV シートの結合その2

    エクセルのセル結合について教えて下さい。 静岡県  静岡市あああ町5-32 あああビル111号 と言う風に、みっつの列にデータが入っています。 この列を一つに結合して  静岡県静岡市あああ町5-32あああビル111号 としたいのですが、できません。結合しようとすると、一番左の列意外はデータが消えてしまいますと言われてしまいます。 この問題に対して、以下の回答を頂いたのですが、問題発生です。結合したセルを、一番左のセルに移動したいのですが、そうすると、他のセルの数値を参照して中身が変わってしまうのです。結合したデータが一番左にでないと、CSVで取り込むときに不具合が生じます。左側のセルに最初から指定すると、循環参照で不正です?というようなことを言われます。どうしたらいいんでしょうか? いただいた回答↓ 皆さんが回答しているように =A1&A2&A3 が簡単ですが、 関数を使った方法としては =CONCATENATE(A1,A2,A3) があります。 関数には色々種類があり、覚えると非常に便利です。 1.セルに「=」と打つ。 2.左側にある▼でその他関数を選ぶ、 3.文字列操作を選ぶ。 4.CONCATENATE等の関数名を選ぶ。 5.ヒント、ガイドにそって、入力です。 色々試してみてください。

  • CSVファイルのデータ型について

    初めて質問します。よろしくお願いします。 拡張子「.xls」のファイルを「.csv」に変えるときに、データの形が変わってしまいます。 (エクセルでは「001」(文字列)のものが、CSVで保存すると「1」(数値)となってしまう) これを解決するために エクセルから文字列のデータを持ってきて貼り付け・保存しようとしましたが、 何度やってもデータは数値になってしまいます。 データ量が多いので、手ではとても直せません。。。 どなたか、よい方法がありましたらご教授ください。

  • csv ファイルのデータを文字列として開く

    csv ファイルを開いた時に、最初から 全てのセルの 「セルの書式設定 > 分類」を「文字列」にすることは出来ますか? 一度、拡張子を txt に変えて 「テキスト ファイル ウィザード」 「列のデータ形式」を文字列にするのは知っているのですが、 ・拡張子を変える ・エクセルを開く ・ファイルを選ぶ ・全ての列を選択 ・文字列にする と非常に面倒なので csv ファイルのままでファイルを開いたら 最初から文字列にする方法を探してます。 お願いします。

  • Access2003で特定列の改行コードを削除してCSVへエクスポート

    またまた、質問させていただきます^^; Access2003にてCSVデータを一旦インポートして、クエリなどを使いデータを編集し、別のテーブルへ追加クエリを使用して吐き出し、そのテーブルのデータ全てをCSVファイルへエクスポートする、といった処理をしております。 はじめに取り込むCSVデータが、セル内(エクセルの編集画面でたとえさせていただきます)で沢山改行されているデータで、それをアクセスに取り込むと改行は一旦なくなったように、見えるのですが、エクスポートするとやはり改行コードが着いたままエクスポートされます。 この改行コードをAccessの処理で削除したいのですが出来るのでしょうか?CSV内の改行全てを削除するのではなく、特定列内(例えばC列など)のセル内の改行コードのみの削除です。 エクセルのClean関数なども試しましたがAccessの処理で一括してしまいたいのです。 TeraPad、秀丸などのテキストエディタで改行コードの置換をすると全て消えてしまい、CSVの行を意味する改行コードまで消えてしまうので使えないし。。。 皆様、お知恵をおかし下さい!お願いします。

  • CSVの内部結合について

    CSVまたはエクセルの.xml形式のファイルでの内部結合を行う方法を探しています。 これまではアクセスを使用して結合を行っていましたが、 私がアクセスにあまりなれておらず、面倒なことがあり、 別なフリーソフトまたはEXCEL上で、処理をする方法はないかを 探しています。 「CSV 結合」などで検索すると、単純に、CSVファイルをつなぎ合わせるソフトは 多数見つかりますが、そうではなく、ファイルAとファイルBの任意の列が同じものを 探し出して結合する、といった方法を探しています。 ご存知の方がおられたらお教えいただければ幸いです。

  • エクセル2010 CSVレイアウト崩れ

    「よくある質問」とはちょっと違うと思います。 あるCSVファイルを、そのままダブルクリックするとエクセルで開いてくれるPCがあります。 そのようにして開くとレイアウト崩れはありません。 で、同じCSVファイルをエクセルの「データ」→「外部データの取り込み」→「テキストファイル」で読み込むと、レイアウトが崩れてしまうのはなぜでしょうか。 なぜこのような質問をするのかというと、ちょっと説明が難しいのですが、なるべく簡潔に箇条書きにしてみます。 1 まず、このCSVファイルは自社で使っているオリジナルのシステムがCSV形式で吐き出すファイルであるという事実 2 このファイルは、ところどころ長文があり、セル内で改行が必要。なので長文の部分はダブルクォーテーションで改行を含め全体を囲んである。 3 従来はCSVファイルをそのままダブルクリックして開いて、内容をチェックする時、担当者がエクセル上でセル幅や高さをマウスで調節して文章を読んでいた。なお、その際にレイアウト崩れは発生したことがないので、もともとのファイルのCSV形式はちゃんと整って吐き出されているものと思われる。 4 しかし、いちいち手動でそんなことをするのは大変だろうと、私がマクロでCSVファイルを読み取り、自動的にセル内の文章を全部表示できるサイズに各行や列を自動調節できるようにしたいと考えた。 5 具体的には、まずマクロを記録したエクセルファイルを開き、そこから次のシートに当該のCSVファイルを読み取らせればよかろうと考えた。 6 ところが、シートにCSVファイルを読み込ませるために冒頭のような読み込み作業を行ったら、同じエクセルの同じバージョン、同じPCなのにも関わらず、レイアウトに崩れが生じた。 7 具体的にどの部分でレイアウト崩れが起きているのかをテキストエディターで調べると、やはり長文内の改行部分で次のセルに移動してしまっている。 8 しかし、改行部はダブルクォーテーション内に収まっており、(そうでなかったらCSVファイルを直接ダブルクリックしてエクセルを開いた際にもレイアウト崩れが生じていたはず)自分でも訳がわからなくなる。 9 つまり、CSVファイルをテキストデータとして読み込んだ際、設定で「カンマでセル移動、ダブルクォーテーションを「文字列の引用符」に指定しているにも関わらず、エクセルがダブルクォーテーションを無視しているとしか考えられない 10 なぜこのような違いが同じエクセルで生じるのかがわからない 11 いろいろ調べると、「ひょっとして改行コードの解釈の問題(例のLF+CRの問題)か?もしくはダブルクォーテーションのコードの解釈の違いがあるのか??」と思い当たる。 …と、以上のような経緯があったわけです。 それにしても不可解な話なので、どなたかエクセルに詳しい方の解説がいただけたらなあ…と思うのですが、いかがでしょうか。 もしくはどこかに、「一発でCSVファイルを正しく読み込んでくれるモジュールがあるよ」的なアドバイスをいただけると非常に助かります。 よろしくお願いいたします。長文失礼いたしました。

専門家に質問してみよう