- ベストアンサー
2行ごとに文を入れる。
すでに文のあるテキスト文章に対して、 2行ごとに一文を入れたいのですが、 手で入れるとなると、400は軽く超えてしまいます。 どうにかして、テキストに2行ごとに文章をいれるプログラムをつくるには何の言語がいいのでしょうか? JavaやVisualBasic2003,エクセルVBを少しだけ入門書をやった程度なのですが。テキスト文章に対する操作がわかりません。 WordについてるVisualBasicはやったことがないのですがそれでもできるのでしょうか? どなたかご存知の方よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
各言語のファイル操作は、自身で調べるとして C/++,VC++, C#, VB , VB.NET, Java , Delphi , EXCEL WORD VBA等 テキストファイルの加工出力は JavaAplletのプログラム以外は 十分処理可能です。 仮に、word のVBAで処理するとした場合の例としては 下記のような感じです。 Dim fileno1, fileno2, lineCnt As Integer Dim inFname, outFname, strGyou As String fileno1 = FreeFile fileno2 = FreeFile inFname = "C:\IN.txt" outFname = "C:\OUT.txt" Open inFname For Input As #fileno1 Open outFname For Output As #fileno2 lineCnt = 0 Do While Not EOF(1) Line Input #fileno1, strGyou Print #fileno2, strGyou lineCnt = lineCnt + 1 If lineCnt = 2 Then Print #fileno2, "Good" lineCnt = 0 End If Loop Close #fileno1 Close #fileno2
その他の回答 (4)
- Hardking
- ベストアンサー率45% (73/160)
すいません、エラー55ファイルオープンエラーは コーディング順のミスよるエラーであう。 エラー 55 ファイル inFname = "C:\IN.txt" outFname = "C:\OUT.txt" fileno1 = FreeFile Open inFname For Input As #fileno1 fileno2 = FreeFile Open outFname For Output As #fileno2 とすれば直ります。 あと、私も試行しましたが Cドライブ直下にIN.txtは必須で、OUT.txtはあろうがなかろうが 正常に動作しました。 エラーメッセージもしくはエラー番号とか表示されますか? とりあえず、OUT.txtを削除して実行すれば良いと思います。
お礼
直りました! お手数おかけしてみません^^; こちらのソースを参考にWORDで希望通りのものを作ることができました! ありがとうございました。
- pipipi523
- ベストアンサー率40% (148/365)
テキスト整形にはperlとか使ってます http://pocketstudio.jp/win/activeperl/ 2行ごとに一文を入れるならこんな感じ? open IN1, "< file1.txt"; open IN2, "< file2.txt"; open OUT, "> file3.txt"; $ct=0; while ( <IN1> ){ print OUT $_; if(++$ct==2){ $ct=0; $buf=<IN2>; print OUT $buf; } } close IN1,IN2,OUT; exit;
お礼
ソースまで書いていただきましてありがとうございます。 文章を少し変えたいときのために、perlなんかも覚えたいですね^^ ありがとうございました
- Bonjin
- ベストアンサー率43% (418/971)
対象は通常のテキストファイルでしょうか?それともWordやRTFなどの形式でしょうか? 一応、前者だとして答えると 基本的にどのプログラム言語を使ってもできますが、WSHを使えば比較的簡単に作れると思います。 ※WSHは言語名称ではなく技術名称です。主にVBScriptかJScriptを使用します。
お礼
普通のTXTファイルでした。 スクリプト言語はあまりやったことがナイのですが。 JAVAよりは覚えやすそうですね^^ ありがとうございました!
- oryaaaaa
- ベストアンサー率35% (75/211)
どのような言語でもできます。 質問の内容程度なら、作るのに30分あれば十分なので サンプルソースを書きますよ。私はPureBasicを使います。 体験版で動くようにできます。下記フォーラムで聞いて下さい
- 参考URL:
- http://forum.oryaaaaa.com/
お礼
ありがとうございます! とても参考になりました。 質問させていただいたら、いろんな言語が出てきて驚きました^^;
お礼
ありがとうございます! やってみたのですが。 ファイルは開いていないのに、 エラー 55 ファイルは既に開かれています と出ます。 inFname = "C:\IN.txt" outFname = "C:\OUT.txt" この二つのファイルをCにつくってみたのですが、なにか間違っていたのでしょうか? エラーが出るのは outFname = "C:\OUT.txt" の行です。