• ベストアンサー

エクセルのVBAで、複数ファイルの漢字コードを変換したあと各ファイルの一行目を取得したリストを作成したい

500ファイルくらいある顧客データ(漢字コードEUC、テキストファイル)から、自動的にリストを作成したいのですが、漢字コードをEUC→S-jisに変換する方法がわかりません。 一行目の取得のためのモジュールは、こちらのサイトの別の方の質問に対する回答からヒントを得て成功したのですが…。 あと、ファイル名に拡張子をつけるという処理もVBAでできるなら教えてください。

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

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

#2のものです。 >ファイル名に拡張子をつけるという処理・・ 判りました。拡張子の変更を一括して行いたいと言う風に 解しました。 あるフォルダ内にある、全てのファイルを一律に「.xxx」 の拡張子に変えるプログラムを考えました。 下記は私の例では、旨く行ったようです。98SE、エクセル2000. '----注意 ・非常に危険なことでもあり、少数のテスト例で納得した上で、自己責任で行ってください。 ・確認用にMSGBOXを4カ所入れていますが、テストが済み納得した後は外してください。 ・For ループの100は適当に変えて下さい。 ・勿論t=・・・の右辺(フォルダ名)は適当に変えてください。 ・変更前後の拡張子も適当に変えてください。 ・・・・\tt1\"の\はつけ忘れないこと。 '------ Sub test01() Dim f, n As String t = "c:\my documents\tt1\" '-------- f = Dir(t) MsgBox f n = Mid(f, 1, Len(f) - 4) & ".txt" Name t & f As t & n MsgBox n '------- For i = 1 To 100 f = Dir() If f = "" Then Exit For MsgBox f n = Mid(f, 1, Len(f) - 4) & ".txt" MsgBox n Name t & f As t & n Next End Sub

fishpaw
質問者

お礼

ありがとうございました。 週明けに試してみたいと思います。

その他の回答 (2)

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

>コードをEUC→S-jisに変換する方法 (1)自分で(VBAで)プログラムする (2)ソフトで行う。 どちらか、(1)に拘るのか良く判りません。 漢字文字変換は自作しない方が良いのでは。意外にテストやバグの摘出が難しいと思うので。 http://www2d.biglobe.ne.jp/~gama/cgi/bbs-j/log.htm (2)ならhttp://www.vector.co.jp/soft/win95/util/se221554.html http://www.vector.jp/soft/dl/dos/util/se229013.html EUC SJIS コード変換でWEB照会すると沢山出ます。 >ファイル名に拡張子をつけるという処理 どういうてんが難しいのか、良く意味を理解できません。 保存する時に指定するファイル名に指定拡張子を書き込めばダメですか。

fishpaw
質問者

お礼

ありがとうございました。 「500のファイル名に拡張子をつけ直す」のを簡単にやる方法って、どんな方法があるのですか? ひとつひつファイルを保存し直すのはちょっといやですよね?

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

文字コードの変換は、nkfというソフトを使うのがいいでしょう。 全部文字コードを置き換えたファイルから1行目を取得するようにすればいいのでは? そうではなく、文字コード変換も自分でしたいのであれば、ADOのStreamオブジェクトを使えば比較的簡単にできます。

参考URL:
http://www.vector.jp/soft/dos/util/se000862.html
fishpaw
質問者

お礼

ありがとうございます。わたしは基本的にはマックユーザーなのですが、マックでnkf使ってました…。 完璧に解決です。ありがとうございました!

関連するQ&A

  • 漢字コード変換ツールについて

    jis⇔sjis⇔euc等の変換するツールは、よくあるのですが、ユーザーの漢字変換テーブル(FROM CODE:TO CODE)通りに変換してくれるツールをご存知ないでしょうか。複数ファイルのテキストを定例的に変換するため、VBでなくBATファイルで動作させられる物を探しています。 利用目的は以下の通りです。 ・汎用機(メーカ独自漢字コード)⇔sjis漢字コードへの変換 以上、よろしくお願いします。

  • ファイルの文字コード変換

    一度Shift-JISコードで作成したファイルを、そのままの状態でEUCコードに変換することはできないのでしょうか? ◇試したこと 1)文字コード変換ツール(フリーソフトを2,3種類) 2)インターネットエクスプローラで開いて文字コード変換 ◇結果 1)いずれも変換されなかった 2)変換されたが元のファイルのテキストが崩れた かなりたくさんShift-JISファイルがあるので困っています。 いい方法を御存知の方がいらっしゃいましたら御教授いただければ幸いです。

  • VB2005でJIS拡張漢字の各文字コードを取得する方法

    ある関数に文字列を渡して各文字コードを取得するプログラムを作成しようとしています。 基本的な文字のコードは取得できるのですが、JIS拡張漢字のほとんどが正しく取得できません。 失敗している文字は内部的に「?」(3F)となってしまいます。 例:拡張漢字のコード値(SJIS:81B2)を変換するとコード値が「3F」になってしまう。(テキストエディタなどで文字化けすると「?」に化けるのと同じなのかな?) 正しく文字コードを取得する方法をご存知の方、またヒントなどありましたらよろしくお願いします。 【環境】WindowsXP     VisualBasic2005 【プログラムの流れ】例:SJISコードを取得する場合 文字列を受取る→1文字取得→System.Text.EncodingでSJIS指定のバイト型配列文字に変換(文字コードを取得)

  • エクセルVBAでテキストの漢字の読みを入手するには?

    テキストファイルを読み込むエクセルVBAを作りました。 テキストデータ内の漢字をカタカナに変換したいのですが どのようなVBAにしたら良いのでしょうか? セルに入力された漢字の読みを入手する方法は分かっていますが、 テキストの漢字から入手する方法が分かりません。 よろしくお願いもうしあげます。

  • 他のExcelファイルのVBAコードを検索したい

    他のExcelファイルに書かれたVBAコードに、ある特定のキーワード(パス名など)が使われているかを自動的に調べるためのVBAを書きたいと思っています。 仕事で使っているマクロが書かれたExcelファイルからある特定の処理をしているマクロを含むものを検索したいのですが、検索するExcelファイルが膨大なため、順番にExcelファイルを開いてVBAコードをチェックしていく工程をマクロ化したいのです。ファイルを順に開いていく処理はマクロ化できるのですが、書かれたVBAコードのチェックをどうしたらよいか悩んでいます。 「VBAコードに対して検索する」または「VBAコードを1行ずつ変数に代入する」、「モジュールシートをテキストファイルに出力する」などの処理が自動化できれば対応できそうなのですが、そのような処理をExcelVBAで作成できるでしょうか。 なお環境はWindowsXPのExcel2003です。 よろしくお願いいたします。

  • 漢字コードの変換について

    漢字コードの変換について 1. インターネットで漢字等の二バイト文字で検索すると、漢字が変換されているようです。 "画像"の場合"%E7%94%BB%E5%83%8F"と、変換されます。 この変換は何でしょうか? 2. htmlのファイル名には漢字を使用できませんが、漢字をこのように変換すると使用できるのでしょうか? 3. 変換する(フリー)ソフトは有るのでしょうか?

  • 漢字コード変換のアルゴリズム…

    下記URLのページ中に、 http://www.tohoho-web.com/wwwkanji.htm 「各コード間の変換アルゴリズム」 という項目があるのですが、 その下の、 「漢字コードマップ」を見ても、 JIS⇒S-JISの変換アルゴリズムがよくわかりません。 自分でももう一度考えて見ますが、 参考にあるようなサイト、 もしくは説明?してもらえると助かります。

  • IBM漢字コードのSJIS変換方法

    こんにちは。 現在IBMホストのデータをFTPしてUNIX上にて使用しています。ファイルの内容はcsvファイルで、ある項目は英数字のみ、ある項目は漢字のみというような物です。 現在、英数字は上手くいってますが、漢字の部分が化けてしまっています。 今やっているやり方は、ホストのファイルをbinaryモードでFTPして、ddコマンドにてEBICDICコードをASCIIコードに変換します。しかし、漢字の部分が化けているという状況です。 IBMのホームページをみると、 「IBM漢字コードとシフトJISとの変換は、オペレーティング・システム標準の iconvコマンドとiconv()サブルーチンで可能ですので、こちらをご利用下さい。 」 と書いてありますが、まったく要領を得ません。 iconvをmanのコマンドで見ましたが、書いてある内容が理解できません。 どなたか同じような経験をしたかた、アドバイスをよろしくお願いします。 iconvのオプションはこう付ければ上手くいくとか、 変換表を自前で作成したなどなど、他にこんな方法があるなどヒントをいただけると助かります。

  • EUCコードのファイル名をShift_JISコードに一括変換するソフト

    タイトルのとおりなんですが、EUCコードで表示されてしまっている多数の「ファイル名」(ファイルの名前のみで結構です)を、Shift_JISコードに一括変換してくれるソフトをご存知の方がおりましたら、おすすめソフトを教えてください。お願いします。

  • VBA 複数ファイル内をキーワード検索

    VBAを利用して1つのフォルダの中にあるたくさんのファイル内にキーワードが記載されているか検索し、Hitしたファイル名をリストアップしたいです。 具体的には、Cドライブのsampleフォルダ直下にテキストファイルが複数あります。 そのテキストファイルに2019年または2020年という記載があれば、そのファイル名(2019年、2020年どちらでHitしたかも分かるように)をexcelなどにリストアップしたいと考えています。 VBA初心者です。コードも添えて回答頂けると助かります。 よろしくお願いします。

専門家に質問してみよう