• ベストアンサー

ファイル内の(&H0A)を(&H0D0A)に変換したい

TAGOSAKU7の回答

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

http://oshiete1.goo.ne.jp/kotaeru.php3?q=169686 にも書いたのですが・・・それとほとんど変更なしのファイルの読み込みサンプルです。 読み込みを一行ずつ行わないで、バイナリ形式で全てを一度で読み、指定の区切り文字で配列にセットしてます。 改行コードが"OA"という文字列であればこれで可能なのですが。。。 いまいち質問の内容を理解しきれていない部分があります。 違ったらご指摘ください。 Sub Main()   'ファイル名   Const FILENAME As String = "c:\test.txt"      'テキストを配列で記憶   Dim valAry   As Variant     '問題ファイルの読み込み(ファイル名:改行文字:取得した文字列)   If Not subConvert(FILENAME, "0A", valAry) Then     Call MsgBox("[" & FILENAME & "]失敗")     GoTo PGMEND   End If PGMEND: End Sub 'テキストファイルを読み込み、配列にして返す 'パラメータ1:ファイルパス 'パラメータ2:テキストファイルは何区切り? 'パラメータ3:返す配列 Public Function subConvert(inFilePath As String, strCut As String, outAry As Variant) As Boolean   Dim lngFileSize As Long 'ファイルサイズ   Dim lngFileNum As Long 'ファイルナンバ     Dim strBuff   As String  '文字列ワーク     'ファイルサイズの取得   On Error Resume Next   lngFileSize = FileLen(inFilePath)   On Error GoTo 0   'サイズが取得できない時NG処理   If lngFileSize < 1 Then     Exit Function   End If     '取得するためのサイズを用意   strBuff = String(lngFileSize, vbNullChar)     'テキスト取得   lngFileNum = FreeFile   Open inFilePath For Binary As #lngFileNum     Get #lngFileNum, , strBuff   Close #lngFileNum     '文字列を区切り、配列に変換   outAry = Split(strBuff, strCut)     'OKを記す   subConvert = True End Function

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=169686
taisuke555
質問者

お礼

回答ありがとうございます。 参考にさせて頂きます。 やはり、1つずつ見ていくしかないのでしょうか? 私はNo3の方のような方法でLineInputで読込みInstrで検索しrightとLeftを使って挿入しファイルに書き込むという方法を考えていましたが、 No1の方のようにしかもプログラムの中で(出来ればファイルを読み込まず)一発置換をしたいと思って質問しました。 ちょっと虫のいい話でしたか・・・・ 皆さんの回答を見ても他アプリケーションを使用しないと一発では置換できない のでしょうか。

関連するQ&A

  • A D, D A 変換 実用

    変換速度やデジタルコードの観点から、A D, D A 変換が実用的に応用されている例って、何がありますか??

  • H8/3664FのA/D変換について

    H8/3664Fを使ってA/D変換した信号を配列に一時的に格納し,その後その信号を処理する プログラムを作成したのですが,A/D変換を行ってくれません。 いろいろ試した結果,配列を定義するとA/D変換を行ってくれないようです。 どなたかこの現象の原因と対策方法についてご存じないでしょうか。

  • A/D変換器についての質問

    こんにちは。 大学での授業で習ったA/D変換器の問題について質問です。 問1.入力電圧範囲が-5V~5Vまでの12ビットのA/D変換器で分解能は10/2^12=2.44mV 変換結果が10進数で256のときの入力電圧を逆算して求めよ。 解答 10進数で0から2^12=4096までの数字が-5Vから5Vまでの10V の範囲に対応する電圧は 10×256/4096-5=-4.375V・・・(1) 実際の入力電圧は-4.375V±0.00122Vの範囲 という答えなんですが(1)の部分の計算がどうしてそうなるのかわかりません。また±0.00122というのはどこから出てきたのでしょうか? 教えてください。 問2.入力電圧の範囲が0Vから4Vまである10ビットの逐次比較型A/D変換器について分解能は0.5Vである。 変換結果が2進数で0010111001であるとき、入力電圧の値を求めよ。 解答 与えられた2進数を10進数に直すと、185 4×185/1024=0.7226V・・・(2) となっていますが、問1の(1)の部分では‐5しているのに、なぜ問2では引かないのでしょうか?

  • a d 変換の精度について

    誤差率が±10%の抵抗を用いて実現可能なa d 変換回路のbit数ってどうなりますか? 1/2^3=0.125となるので3bitでしょうか?

  • MP3やm4aをWMAに変換してD903iで再生したい

    今までD902iを使用していて、D903iに機種変更しました。 ところが、m4a等はD903iで再生出来ない事が判り困っています。 m4aファイルやMP3ファイルは手元にあるのですが、これをD903iで再生出来るWMAに変換したいのですが、何かいい方法はご存知無いでしょうか? ちなみに、「dBpowerAMP Music Converter」というソフトを使ってm4aからWMAファイルを作成しましたが、うまくいきませんでした。

  • htmlファイルの改行について

    複数ある html ページから、改行部分( <BR> ではなくて )、を自動的に削除して再び保存する、というプログラムを自作しているのですが、\r\n, \r, \n に当てはまらない改行コード? があるみたいで、完全に取りきれないのです。 $input =~ s/\n\r//g; $input =~ s/\n//g; $input =~ s/\r//g; もしくは、 $input =~ s/\x0D\x0A|\x0D|\x0A//g; という具合にしているのですが、予想では、数行にわたるhtml タグから全ての改行が取り除かれ、一行にまとまると いうイメージがあるですが、ところどころ改行が残ります。何がいけないのでしょうか・・・

    • ベストアンサー
    • Perl
  • H83052 シリアル通信 A/D変換データ送信 について

    毎回の質問失礼します。 現在H83052マイコンを使用して、センサで得た電圧値を1ms間隔でA/D変換させるプログラムを作成しています。 マイコンのA/D変換機能と、ITUタイマ機能を用いて測定を行うまでのプログラムの作成は何とか完了しました。 ここで、測定終了後データをどのようにして表示したらいいのかというところでとまっています。 データはA/D変換データ(data[]←int型)、A/D変換時の時間データ(time[]←long型)が、測定プログラム実行時に200個ずつ配列に保存されています。 これをそのままシリアル通信機能を用いてPC側に表示させるようにしたいのです。シリアル通信のH8側からPCへの送信の場合TDRにデータを書き込みそれをTxDより送信すると思うのですが、実際にTDRのアドレスは1バイトですので、データとしては入りません。1バイトごと分けて送信するという方法になってくるのではないかと考えていますが・・・ また、送信する時のコードとしては、数字データもアスキーコードとして送信されてしまうことになるのでしょうか? どなたか、わかることやアドバイスがあれば、回答よろしくお願いします。

  • マイコンとD/A変換

    基本的な質問で申し訳ありません。 私は今SH7145マイコンを使っていて、I2Cで通信を行い、外部でD/A変換をしようとしてます。 そこで質問なんですが、マイコンとD/Aコンバータのクロック数?とか時間?とかの関係ってあるのでしょうか? どちらかが早いとダメだとか、どういった対応をしているのか・・・。 そういった事がよく分かってません・・・。

  • 文字コードの変換方法

    お世話になります。 サーバ上で生成した、文字コードがEUCのテキストファイルをSJISに文字コードを変換したいのですが、nkfコマンドが使用できません。 nkfコマンドを使用せず、EUC⇒SJISへ文字コードを変換する方法をご教示頂けますでしょうか。 また文字コードを変更すれば改行コードの変更はしなくてもいいのでしょうか。 宜しくお願い致します。

  • datファイルをACCESSへのインポートについて

    datファイル(固定長)をテキストに変換してからACCESSにインポートする、というやり方をした時、改行コードがなくサイズが大きいためか処理が中断してしまい、インポートできません。 ためしに件数を減らすと、インポートはできますが1レコードとして見えてしまうので、処理上都合が悪い状況です。 このようなデータをインポートするのに良いやり方があれば教えてください。 1ファイルあたりの最大サイズは、1000 * 800件です。 ACCESS2000を使用。