もどる

 取り出しプログラム その1
HOMEへ
PRODUCTSへ
LEARNING
LINKへ
LOGO
HeadLine
ORDER FORMへ
Image画像
MailTo:

もどる


(c) Copyright 2005 VBAを基礎から解説 VBA World All rights reserved.
E-Mail:info@vba-world.com
まずは、ダウンロードしたファイル moto.txt から VBA-Worldの製品名だけを他のファイルに書き出すプログラムを作ってみます。
フォームの作成

次のようなフォームを作成する。

フォームの大きさや配置するコントロールの大きさは適当で良い。

なお、大きなテキスト・ボックスは完成時には不要となるが、デバッグのために配置してある。
また、後で結果を見やすくするために、このテキスト・ボックスの [ MultiLine ] プロパティを [ True ] にしておく。

プログラム・コード(その1)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 読み込んだ行の1文字目に"「"があったらその行を VBA-Worldの製品名と
 判断しフォーム上のテキスト・ボックスに表示する。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

moto.txtの仕様から、上のような条件を利用して、次のようにプログラムする。


Private Sub CommandButton1_Click()
 Dim FileNumber As Integer
 Dim PathName As String
 Dim ReadString As String

 PathName = ActiveWorkbook.Path & "\moto.txt"
 FileNumber = FreeFile
 Open PathName For Input As FileNumber

 Do While Not EOF(FileNumber)
  Line Input #FileNumber, ReadString
  If Left(ReadString, 1) = "「" Then
   Me.TextBox1.Value = Me.TextBox1.Value & vbCrLf & ReadString
  End If
 Loop

 Close FileNumber

End Sub

プログラム・コード(その2)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 読み込んだ行が "============" という行だった場合、その次の行が
 VBA-Worldの製品名と判断しフォーム上のテキスト・ボックスに表示する。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

moto.txtの仕様から、上のような条件を利用して、次のようにプログラムする。


Private Sub CommandButton1_Click()
 Dim FileNumber As Integer
 Dim PathName As String
 Dim ReadString As String

 PathName = ActiveWorkbook.Path & "\moto.txt"
 FileNumber = FreeFile
 Open PathName For Input As FileNumber

 Do While Not EOF(FileNumber)
  Line Input #FileNumber, ReadString
  If Left(ReadString, 5) = "=====" Then
   Line Input #FileNumber, ReadString
   Me.TextBox1.Value = Me.TextBox1.Value & vbCrLf & ReadString
  End If
 Loop

 Close FileNumber

End Sub

プログラム・コード(その3:外部ファイルに書き出す)



Private Sub CommandButton1_Click()
 Dim FileNumberMoto As Integer
 Dim FileNumberNew As Integer
 Dim PathNameMoto As String
 Dim PathNameNew As String
 Dim ReadString As String

 PathNameMoto = ActiveWorkbook.Path & "\moto.txt"
 FileNumberMoto = FreeFile
 Open PathNameMoto For Input As FileNumberMoto

 PathNameNew = ActiveWorkbook.Path & "\new.txt"
 FileNumberNew = FreeFile
 Open PathNameNew For Output As FileNumberNew

 Do While Not EOF(FileNumberMoto)
  Line Input #FileNumberMoto, ReadString
  If Left(ReadString, 5) = "=====" Then
   Line Input #FileNumberMoto, ReadString
   Print #FileNumberNew, ReadString
  End If
 Loop

 Close FileNumberMoto
 Close FileNumberNew

End Sub