• 締切済み

コードが長すぎてエラーになってしますのですが・・・

VB4を始めて1ヵ月の初心者です。 下記のように沢山のテキストファイルの中に、テキストボックスから 文字を代入したいのですが、コードが長すぎて「プロシージャが大きすぎます」とエラーが出てしまいます。 各テキストファイルのABCの部分は実際は100行以上有り、全体で2,000行を超えるとエラーが出てしまいます。 これはVB4の限界なのでしょうか。もし、もっと長いコードでも大丈夫な方法が有りましたら、アドバイスお願いします。 Private Sub Command1_Click() Open "C:001.txt" For Output As #1 Print #1, "A" Print #1, "B" Print #1, "C" Print #1, Text1.Text Print #1, "Z"   Close #1 Open "C:002.txt" For Output As #2 Print #2, "A" Print #2, "B" Print #2, "C" Print #5, Text2.Text Print #5, "Y" Close #2 ・ ・ ・ Open "C:100.txt" For Output As #100 Print #100, "A" Print #100, "B" Print #100, "C" Print #100, Text1.Text Print #100, "D" End Sub

みんなの回答

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.1

何故そんなプログラムを作るのか理解できませんが、私ならこうします。 Private Sub Command1_Click() Dim Idx As Integer Dim FileName As String For Idx=1 to 100 FileName = "C:\" & Format(Idx, "000.txt") Call OutData(FileName) Next End Sub Private Sub OutData(pFileName As String) Dim Fnum As Integer Fnum = FreeNum Open pFileName For Output As #Fnum Print #Fnum, "A" Print #Fnum, "B" Print #Fnum, "C" Print #Fnum, Text1.Text Print #Fnum, "Z"   Close #Fnum End Sub

1995
質問者

お礼

アドバイスありがとうございます。 For Nextを使って共通部分を作って、書くべきコードはジェネラルプロシージャから書き込むわけですね。 5行目の「FileName =」の次が当方のレベルでは理解できませんが、引き続き勉強してみます。ありがとうございました。