• ベストアンサー

Excelで全銀協のFBデータをインポートしたい

各銀行で共通使用している全銀協の FBデータをExcelでインポートしたいと思っています。 一度、CSVファイルに変換するのかExcelで一旦取込後、VBAで桁数を指定して区切っていくのか正直分かりません。 どなたか教えて頂けないでしょうか? 何卒、宜しくお願い致します。

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

  • ベストアンサー
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

CSVファイルに変換します。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

下記が多少とも参考になれば。 ーー >Excelでインポートしたいと エクセルデータとしたい、ということかな? ーーー 質問者は社内でどういう立場の人? 普通こういうデータを扱うのは、(1)当社のシステム部関係の人(2)会社のシステムを 請け負っている専属指定業者(3)経理部の有志の人などと思う。 このデータ(社内データ)を、統計や他の資料として使う場合も、いくらEUC時代だといってもシステム部を通じて、エクセルのデータになったものをもらう、とかではないですか?秘密漏洩の心配はしないのか? 会計関連データなどでミスなどがあると責任問題ですよ。データ管理の上からも、緩すぎると思う。質問振りからしても、あまりコンピュター処理になれていないのに、必要と思っ、こんな無料サイトに気軽に質問しているように取れる。 VBAはできるのかな。フリーソフトのようなものをのぞんでいるのかな?それならVECTORのようなところを探してみるとか。 まる写ししないとできないレベルではないか? 銀行がCSVデータで渡してくれ(るサービスがあ)れば、エクセルに読み込むのは何もいうことないでしょう。 ーー 銀行によっては、振込データをCSVデータで渡しても良い銀行もあるようだ。 しかるべき人が、取引金融機関に希望すれば、そういう例はあるようだ。 http://www.japannetbank.co.jp/business/baplus/service/web_all/manual.html ーー (1)しかし全銀フォーマットデータは、パソコンが使われる前の時代(1970ごろ?)からあって、データ項目について、その中身を表すTAGや見出しのようなものを省き、1レコードの各項目ごとに固定長で考え、必要ならば各項目ごとに何バイト目から何バイト目までを文字列に切り出して使う。さらに数値文字項目なら、数値化して(加算などに使う)全銀フォーマットは、その何文字目から何文字はこういう意味というのは、全銀協(銀行の業者団体)のシステム関連部会で決めたわけ。 (2)もうひとつ、使われている文字コードですが、当初は大型機EBICDICコードが主流だったが、今はJISやシフトJISが多いと思う。当初は数字、記号、カナまでで、当初漢字は使えなかったが今はそうもいかない。この文字コード体系に注意。 (3)パソコンデータと違い、大型機の思想の流れで、1つのファイルにヘッダーとかトレーラーとかいうものが現れる場合がある。 (4)ファイルのはじめと、終わりを示すBOF、EOFなどに注意 (5)1レコードの項目データの中で、改行やタブなどは使わせないことが多いが、あるか、ないか注意が必要です。 (6)VBAで、テキストデータを切り出すなら、1レコードの各項目の項目長を配列に出も持って、VBAでMID関数を使って、左の項目から順に切り出して、   ・セルの値としてセットする。または   ・CSVファイルを作るため、カンマで区切りデータを作る (7)その場合、文字数(漢字などの場合)なのか、バイト数なのか、VBAで処理することとの関連で、しっかりつかんでおく必要がある。 VBAでの切り出し例 例データメモ帳 2件 aaaaa 1234567890 bbbb 0912345678 ーー VBEの標準モジュールに '==全データチェック表示用 Sub test01() Open "固定長例.txt" For Input As #1 While Not EOF(1) Input #1, x MsgBox x Wend End Sub '==項目を分離しエクセルアクチブシートの各行、各列にセット Sub test02() i = 1 j = 1 b = Array(5, 3, 4, 3) <--ここはファイルの項目に応じて変える Open "固定長例.txt" For Input As #1 While Not EOF(1) Input #1, x s = 1 For k = 0 To UBound(b) MsgBox Mid(x, s, b(k)) Cells(i, j) = Mid(x, s, b(k)) s = s + b(k) j = j + 1 Next k j = 1 i = i + 1 Wend Close #1 End Sub ーー エクセルの癖で、0に始まる数字の文字列0がを入力すると、0は省かれる。 VBAができれば、これぐらいの簡単な処理なので、たとえ作っても フリーソフトなどというのは、おこがましい。

chi_ko6262
質問者

お礼

お礼の返信が遅くなり申し訳ありません。色々とご助言を頂き有難うございました。imogasiさんの言う通りここでの質問ではありませんでしたね。今後、気をつけます。サンプルコードに関しては参考にさせて頂きます。改めてお礼申し上げます。

関連するQ&A

  • VBA で EXCELファイルをインポート

    VBAに詳しい方お助けください。VBAを使用して、データベースをつかってインポート(データベースファイルを開かずにデータの取り込み)を行いたいのですが良く分かりません。データベースは一つはCSVファイル、一つはXLSファイルです。取り込み先のEXCELファイルのSHEET1にCSVファイルのデータベース(SHEET1)、取り込み先のEXCELファイルのSHEET2にXLSファイルファイルのデータベース(SHEET1)とインポートするにはどのようなVBAの記述が必要ですか?色々と調べているのですがうまく行きません。EXCELは2003を使用しています。

  • MS AccessでExcelファイルのインポートは?

    AccessのVBAでExcelファイルをインポートするにはどうすればいいのでしょうか? ちなみに DoCmd.TransferText acImportDelim, , "Tmp名簿", strInPutPath & "\名簿.csv", True (strInPutPathは、ダイアログから取得したパスです) では、CSVファイル(TXTファイル)しか読み込めません。 (もちろん、そのため拡張子が「.csv」にしていますが 読み込むファイルをテキストファイルにしたら「.txt」でもいいです) 「ファイル」メニュー(コマンド)の「外部データの取り込み」→「インポート」では、Excelファイルも読み込めるので悔しいです。 これをVBAでやりたいんですが。 よろしくお願いいたします。

  • AccessからExcelファイルのデータ取得

    Access2000かExcelファイルのデータを取得したいのですが、 Excelファイルを一度 CSVファイルに変換し、その後Accessのテーブルへデータ取り込み といった手順をとりたいのです。 この方法って、どうコーディングすればいいのですか? (Accessのインポート処理は使用しない方法です)

  • excelでのインポート

    エクセルでcsvを更新インポートするVBAを作りたいのですが、「テキストファイルのインポート」のウィンドウが出てきてしまいます。これをvbaにファイル場所・ファイル名を入れておき、ウィンドウを出さないで自動的に更新をするようにしたいのですが、全然分かりませんでしたのでお分かりになる方教えてください。 よろしくお願い致します。

  • CSVファイルをEXCELに変換の自動化作業

    CSVファイルをEXCELに変換の自動化作業 {CSVファイルをEXCELに変換するため、 excel  ツールバーよりデータ(D)→外部データの取り込み(D)→テキストファイルのインポート→ファイルの種類変更→全てのファイル→○○.csvのファイル指定→“,”の区切り選択、、ウィザードに従って変更し次へで進む→A1が指定されるのでそのまま完了→CSVがEXCELファイルに変換された。 参照したabc1.csvの名前に対して新しいabc1.xlsとなずけて登録する。これらの作業をMYドキュメントのhenkan ホルダーに入っているCSVファイルに同様に作業して同じくhenkan ホルダーに入れる。} 上記の{ }内の作業を何か,excelのVBAのマクロのようなもので実行することはできませんか。 やり方を教えてください。

  • Access2000のCSVファイルのインポートについて

    Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。

  • EXCEL VBA 外部データ取り込み時にダイアログボックスでファイル指定したい

    EXCEL VBAでCSVファイルを外部データ取込で取り込む場合、ダイアログボックスを開いてファイルを指定して取り込む方法ってありますか?

  • 大量のCSVデータを1つのエクセルデータにまとめる方法について

    今仕事で、CSVファイルが400ファイル程あり、これを一つの エクセルファイルにまとめなくて加工しなければならないのですが うまいことVBAを活用して効率的にできないか思案中なのですが うまい具合に行きません。 データの持ち方として ○CSVファイル1 1.AAA 2.BBB ○CSVファイル2 3.CCC 4.DDD となっており、これを1つのエクセルファイル上で 1.AAA 2.BBB 3.CCC 4.DDD としたいのですがなにかいい方法はないでしょうか? 1つのブックで外部データの取り込みでCSVを次々に選択して いくVBAなんてあれば教えていただけないでしょうか? よろしくお願いします。

  • Excelへのデータのインポート

    Excelへのデータのインポートにテキストファイルをインポートする際に、タブ区切り、CSV区切り、Unicode?区切りなどがありますが、区切り文字単位で、データが列に割り当てられるという意味はわかりますが元のファイルがなぜそれぞれの区切りで作成されているのか、意味がわかりません。稚拙な質問でもうしわけありませんが詳細をおしえてください。

  • CSVをExcelに変換したい

    お世話になります。 CSVファイルをExcelファイルに変換する場合、CSVファイルをExcelで開いて拡張子を「xls」もしくは「xlsx」を指定して保存すればよいかと思いますが、PCにExcelがインストールされてない環境の場合、Excelに変換することは不可能でしょうか。 今回、Accessにてツールを作成し、CSV(カンマ区切り)のデータを読み込もうとしておりますが、そのデータの中には単語の中にカンマが含まれているものがある為、普通にCSVをインポートしようとすると、ズレてしまいます。 なので、インポートする前準備としていったんExcelに変換したいと考えているのですが。。そのPCにExcelがインストールされてないと、やはり変換することは出来ないでしょうか。 もしくは、カンマ区切りのCSVファイルをタブ区切りに変換したりすることは出来ますでしょうか。 ご教授の程、宜しくお願い致します。

専門家に質問してみよう