• ベストアンサー

固定の文字数

お世話になっております。 複数(仮に6つ)個のファイルがあり、その各ファイルには1~10行まで文字が書かれています。書かれている文字はいつも固定の文字数です。 例えば、その固定の文字数を超えた場合にスクリプトから「文字数を超えているので、[超えた文字の行数 または 文字の超えた行の箇所をエラーとして出力]を確認して下さい。」というスクリプトを作成したいのです。 上記のスクリプトを作成する事は可能でしょうか?どなたかご存知の方がおられましたら、ご教授の程、宜しく御願い致します。

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

  • ベストアンサー
回答No.3

こんな感じでは駄目ですか? fp1,fp2は次のファイルを開く前に必ずCloseしてください。 Dim fp1 As Integer, fp2 As Integer, Cnt As Integer Dim FILE_NAME As String, buff As String '開くファイル名の設定 複数部分はおまかせします FILE_NAME = App.Path & "\test.txt" fp1 = FreeFile Open Trim(FILE_NAME) For Input As #fp1 'エラーログの設定 fp2 = FreeFile Open Trim(FILE_NAME & ".log") For Output As #fp2 'エラーカウンターを初期化 Cnt = 0 '一行目から最終行までファイルを順に読み込みます Do Until EOF(fp1) Cnt = Cnt + 1 Line Input #fp1, buff '文字数が10文字を超えた場合、Logに書き出す(バイト単位で数えたいのならLen→LenBを使います) If Len(buff) > 10 Then Print #fp2, "超えた文字の行数:" & Cnt & " 超えた文字の内容:" & buff Loop '終了処理 Close #fp1 Close #fp2 MsgBox "終了しました"

その他の回答 (3)

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

>複数(仮に6つ)個のファイルがあり このファイルのファイル形式は何なんですか。 テキストファイルなのか。当然と思うのは、質問者として不備ですよ。 スクリプトといっても数種あるし、VB,VBAもスクリプトという人も、ここの質問ではいるし。はっきり書くこと。 ファイルがテキスト形式なら VBscriptで OpenTextFileがあり、ReadLineガあり、Len関数がある。 WEBで調べれば情報や使用例も出るでしょう。質問する前に何か調べたのですか。丸投げは禁止。

回答No.2

言語は何を使いたいの? それがはっきりしないとアドバイスできないよ。

mayoi-st99
質問者

お礼

言語はVBで、VBスクリプトでプログラムを作成したいのです。 記述漏れしました。すみません。

  • NYOI
  • ベストアンサー率58% (56/96)
回答No.1

文字数はLengthで計算できるので、ファイルを頭から1行ずつ読んでそれぞれの文字数を確認すれば、「何行目で文字数が超過したか」は出力可能だと思います。

関連するQ&A