ExcelファイルをAccessでテキスト形式に変換する方法とは?

このQ&Aのポイント
  • ExcelファイルをAccessでテキスト形式に変換する方法について教えてください。
  • テキスト形式に抽出した際にスペースとタブキーの間に違いがあります。タブキーと同じ効果を持たせる方法を教えてください。
  • スマートフォンのアプリでうまく表示するためには、タブキーで空欄を入れる必要があるそうです。タブキーでの空欄を関数で表現する方法を教えてください。
回答を見る
  • ベストアンサー

ExcelファイルをAccessでtxtに変換する

ExcelファイルをAccessでテキスト形式に変換しようとしています。 テキスト形式に抽出した際に文字列と文字列の間に空欄を設けたいのですが、 この空欄の部分は「スペースキー」で作成したものと「tabキー」で作成したものと 微妙に異なっているようなので「tabキー」での空欄と同じ効果を持たせる方法を教えてください。 (参考例) (1)Accsessに取り込むExcelは次のように準備しました。          A             B        C 1行目  investigation      [名] 調査      ;                               (コロン) (2)これをAccessで関数を使ってひとつにし、テキスト形式にしたものがこちら。       investigation [名]調査する;     ※空欄には「スペース」を使用。 (3)しかし、これではスマートフォンで利用するアプリでうまく表示できなかったたため   アプリの説明書を読んでみると●の部分へ「tabキー」で空欄を入れる必要があると判明。        investigation●[名]調査する; この「tabキー」での空欄を関数で表現する方法がわからないというわけです。 よろしくお願いします。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

【要旨】 クエリ(SQL文)で使用する場合は、以下の式を使用すればOkです。 <現状(Spaceを使用)>  [A] & " " & [B] & [C] <変更後(Tabを使用)>  [A] & Chr(9) & [B] & [C] ※Accessのテーブル上では、Tab記号は表示できませんが、データと  しては格納されています。  なお、テキストファイルへの出力時、『テキスト区切り記号』を使用  すると、Tab記号はその区切りの中に入れられてしまいますので  ご注意下さい。  (「&」で結合する前の値をそれぞれ「"」で括る必要がある場合は、   「Chr(34)」(=「"」)などを使用して追加して下さい) 【解説】 Chr関数は、指定した文字コードに対応する文字を返す関数です。 ただ、これには調べたい文字の文字コードが必要です。 各文字の文字コードを調べるには、Asc関数を使用します。  例)半角スペースの文字コードを調べる場合:    ?Asc(" ")  (Ctrl+Gキーの同時押しで表示されるイミディエイトウィンドウに上記を  入力してEnterキーを押せば、次の行に文字コードが表示されます) 但し、Tab記号のような「制御文字」の場合は、Asc関数の引数として 直接入力することができませんので、「VBAで定義された定数を使用」 するか、「ヘルプまたは下記サイトなどでコードを確認」します。  例)Tab記号の文字コードを、VBAの定数を使用して調べる場合:   ?Asc(vbTab) ASCII文字コードの参考サイト(一例): http://office.microsoft.com/ja-jp/word-help/HA010167539.aspx (「ASCII 非印字制御文字」の項目を参照)

ichao0803
質問者

お礼

大変よくわかりました。ありがとうございます。早速やってみたところバッチリうまくいきました。ありがとうございました。

その他の回答 (2)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

「説明書」の解説から入ります。 > アプリの説明書を読んでみると●の部分へ「tabキー」で空欄を入れる必要があると判明。 つまり、「Tab区切りテキストファイルを用意しなさい」と言う意味です。 Tab区切りテキストファイルの詳細は別途お調べください。 さて、手順。 アクセスでやりたいなら、まずはクエリを作るのが手っ取り早いです。 テーブル名がわかりませんので、「テーブル」とします。 同様にフィールド名がわからないので、左から順に「英・日・記号」とします。 そうすると、こんなクエリ   SELECT テーブル.英 AS Q1, [日] & [記] AS Q2 FROM テーブル; ができます。 これをエクスポートしてやります。 順に、クエリを右クリック→エクスポート、ファイルの種類をテキストファイルにし、 適宜、名前をつけてエクスポートボタン。 区切り記号付きを選択し、次へ。 区切り記号に「タブ」を選択、テキスト区切り記号を「なし」に設定し、次へ。 ファイル名を確認し、OK。 以上で、Tab区切りテキストファイルが出来上がります。 どうしても関数を使って1フィールドにこだわるなら、   investigation&Chr(9)&[名]調査 &";" こうでしょうかね。 上手くいくかどうかは保証できませんが。 エクセルでやるならもう少し簡単です。 >          A             B        C > 1行目  investigation      [名] 調査      ; コレを、          A             B         1行目  investigation      [名] 調査; こんな感じに加工し、名前をつけて保存。 ファイルの種類を「テキスト(タブ区切り)」に設定、名前を指定して保存。 これで、Tab区切りテキストファイルが出来ます。 わからない言葉が出てきたら調べる癖をつけないと時間ばかりかかりますよ。 ついでなので。 「 ; 」は「セミコロン」と言います。 「コロン」は「 : 」こちらですよ。

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

accessで変換する意味が良くわからないのですが。 Excelで名前をつけて保存で TAB区切りではだめですか?

ichao0803
質問者

補足

>Excelで名前をつけて保存で TAB区切りではだめですか? 返信ありがとうございます。 「名前をつけて保存」「TAB区切り」というのが逆にわかりませんが、具体的にはExcelをテーブルにインポートした後、テーブルの英語部分に更新クエリで日本後と;をひとつにまとめる関数を以下のようにしました。 investigation&" "&[名]調査 &";" 上の『&" "&』の部分を『スペースキー1個分』ではなく『タブキー1個分』にしたいという意味です。 更新したテーブルにはいらいなくなった日本語と;が付いたままなので、Accessでテーブル作成クエリを用い英語部分(更新後)だけのテーブルを作成した後、マクロでテキスト形式にエクスポートしたこの一連作業のことを『変換』という単語で表現したつもりでした。 よろしくお願いします。

関連するQ&A

  • エクセルからtxtファイルへの変換

    宜しくお願いします。 txtファイルがあります。 中には、14桁の数字があります。 データが膨大なので編集しやすいようにエクセルで読み込みます。 この数字以外の一部を変更します。(1行削除または1列全部同じデータに修正等) 最後にTAB区切りのtxtファイルで保存すると、この14桁の数字が丸められてしまいます。(例56000500000058⇒56000000000000) 書式の表示形式を文字列にするのはなぜか設定してからセルをダブルクリックしないと元の数字列にならないので5000行もあるデータの編集等やってられません。 何かよい方法ありませんか。 要は、5000行もあるtxtファイルの編集を簡単に行ないたいのです。 たとえば、ある列の5000行をいっせいに0から1に変更したいとか。 簡単そうでなかなか思い浮かびません。

  • TXTファイルデーターをEXCELで読み込む

    Aというテキストファイルがあります。 そのファイルのは、 1 12 123 1234 という様なスペースで分けられた文字列が並んでいます。 これを、新規作成したEXCELファイルで読み込みたいのですが、出来ますでしょうか? 現状は、テキストファイルをスペース区切りでEXCELに変換しているのですが、ファイル量が多くなりそうで手間がかかります。 ですので、テキストファイルから直接読み取りEXCELに貼り付けたいのです。(自動リンクのイメージでリンク元がAというテキストファイル) 以上、ご教示お願い致します。

  • エクセル(アクセス)での操作方法

    元のデータ(テキスト)が下記の形式であります "M2M1","D2N1","D2N2","D2N3","D2N4","D2N5","D2N6","D2N7", これがフィールド名(列)となり、その下に該当データが入る形になります。 このテキストファイルをエクセルやアクセスでデータを追加していき、最終的には元通りの形(テキストファイルで同形式)にしたいのですが、可能でしょうか? エクセルで何度か試したのですが、加工する為には取り込む際にカンマを基準として列に分けないと難しいのですが、一旦分けてしまった後に元に戻す方法が見つかりませんでした。 エクセル(アクセス)でやりたいことは (1) 列のデータそれぞれを””でくくる (2) 列と列の間にカンマを入れる ということです。可能かどうか、可能であればどのように操作するのかを教えてください。

  • 列数の多いエクセルのデータをテキストファイル(スペース区切り)に変換するにはどうしたらいいでしょうか

    列数の多い(200列くらい)エクセルのファイルをテキストファイル(スペース区切り)1行に保存したいのですがどのようにしたらいいのでしょうか. エクセルを普通にテキスト形式で保存すると200列 1行で保存されず,適当に折り返して3行くらいになってしまいます. 例えば 2行200列をテキストにすると 1行目 1~100列 2行目 1~100列 1行目 101~200列 2行目 101~200列   と4行になってしまいます.これを 1行目 1~200列 2行目 1~200列   のようにしたいのですが可能でしょうか.

  • アクセスの外部データ(エクセル)の取り込み。VBA

    アクセスの外部データ(エクセル)の取り込み。VBAの質問です。 アクセス2003 エクセル2003 不要な行・列がある場合の外部データ取り込みVBAを教えて下さい。 今は、エクセルで削除して取り込んでいます。 アクセスに「得意先リスト」というテーブルを作っています。 コード(テキスト型)主キー 名称(テキスト型) フリガナ(テキスト型) 郵便番号(テキスト型) 住所1(テキスト型) 住所2(テキスト型) TEL(テキスト型) FAX(テキスト型) エクセルブック[得意先リスト.xls] シートは「リスト形式」のみです。 1~4行は不要。 5行目が見出しです。 A~AZ列までデータがあります。 必要な列は、B・C・D・F・G・H・M・N列です。 セルの書式設定は「文字列」です。 [アクセス エクセル インポート 行 列 削除]などでサンプルVBAを探しましたが見つからなかったので質問させて頂きました。 申し訳ありませんが、教えて下さい。

  • Access97 Excelファイルのインポート

    はじめまして、こんにちわ。 早速ですが、質問させてください。 Access97で既存のテーブルにExcelファイルをインポートした際にエラーがでてインポートできないファイルがありました。その原因を調査している次第です。 Excelファイルは様々な担当者に作成いただく予定ですので、エラーの再現性を確認して、原因となる作業を予め禁止しておきたいと考えております。 (1)ファイル→外部データ取込→インポートからインポートするExcelファイルを選択し、インポートボタンを押したところ、『ファイル○○にアクセスできません。このファイルが存在するか、またファイルの形式が正しいか確認してください』と言うエラーが出ます。 実際にそのファイルは開けますし、同じように作成したファイルはインポートできるものもあります。 中身を全てコピーし、新規作成したExcelファイルに貼り付けて名前をつけて保存したものをインポートすると、問題なくインポートできました。 どういった作業をすると、上記エラーが出るようなファイルになってしまうのでしょうか。 (2)ファイル→外部データ取込→インポートからインポートするExcelを選択し、インポートボタンを押した後、ワークシートインポートウィザードで『先頭行をフィールド名として使う』をチェックすると、『先頭行にAccessフィールド名に使用できない文字が含まれています。』というエラーが出ます。 調べてみると、空白の列がフィールドとしてインポートされるようになっています。Excel上では何も表示されていない列で、その列を削除すればエラーがなくなります。 どういった作業をすると、空白の列や行がインポートされるようになってしまうのでしょうか。 お手数ですがよろしくお願い致します。

  • ACCESSにて、EXCELみたいにVLOOKUP

    ACCESS2007にて、EXCELに近いイメージ操作でVLOOKUP関数機能を使うには、どのようにしたら宜しいでしょうか? ・フィールド構成(テーブル1,2共通) ID、会社名、電話番号、住所、業種 テーブル1の電話番号フィールドをキーにして、テーブル2に同一電話番号が有ったら、 テーブル1の業種データをテーブル2の空欄の業種フィールドに引用したい と言う様な機能リクエストです。 簡単に出来る方法有りますでしょうか?

  • エクセルデータをテキストファイル(カンマ区切り)に変換しアクセスへインポートしたい。

    タブ区切りは出来るのですが、アクセスにインポートが出来ません。エラーが出てしまいます。(エラー内容はフィールド名が不正です。) カンマ区切りだと以前問題なくアクセスへインポートできたので、エクセルをカンマ区切り?のテキスト形式にしたいのですが・・。 "郵便番号" "住所" ・・・・・のような

  • アクセス エクセルのデータインポート

    アクセス超初心者です。現在2003を使用してエクセルからデータをインポートしようとしていますが、エラー回避のため、エクセルのフィールド名とアクセスのフィールド名は同じにするとテキストにありますした。アクセスのフィールドに主キーを設定するためNOフィールドがあります。コレはエクセルにはないフィールドなのですが、データインポート時にエラーになりませんでした。初心者なのでどうして??という疑問がわきます。どうしてなのでしょうか?主キー設定のフィールドは無視されるのですか?よろしくお願いします。

  • 初心者:エクセル2007とアクセス2007でのデータのやりとりについて

    初心者:エクセル2007とアクセス2007でのデータのやりとりについて -基本情報- 1 アクセスには管理番号や名称といったいくつかの項目を持つテーブルが存在 2 1で作ったテーブルから管理番号とまだ空欄だがデータが入る予定の列だけを抽出したテーブルが存在 3 1の中から列としては管理番号の列と変更する可能性のある列、行としては管理番号の入っている行のうちの一部を抽出し、エクセルにエクスポート済 4 3のファイルでアクセスでは空欄になっていた列にデータを新規入力 -やりたいこと- 4のファイルの管理番号と2のテーブルの管理番号とが一致したものに関して、アクセスで空欄になっている列にエクセルで新規に入力したデータをインポートすることは可能でしょうか。 また、可能なら、どういった方法があり、どうすればよいでしょうか。ご教授お願いします。

専門家に質問してみよう