ファイルを作成する方法

◆概要

このページは、Visual Basic 6.0でファイルを作成する方法について記載しています。


ファイルを作成するには、ファイルシステムオブジェクトに含まれるFileオブジェクトのCreateTextFile メソッドを利用します。


なお、従来のファイル入出力ステートメントを利用する場合は、Dir関数とOpenステートメントを使います。

◆CreateTextFile メソッドを使う方法

Private Sub Command1_Click()
    Dim objFileSystem  As Object
    Dim objFile        As Object
    Dim strFileName    As String
    Dim strMessage     As String
    Dim lngReturnValue As Long
    
    ' 作成するファイル名
    strFileName = "D:\test\Readme.txt"

    ' ファイルシステムオブジェクトへの参照
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")

    ' 同名ファイルの存在を確認
    If objFileSystem.FileExists(strFileName) Then
        strMessage = strFileName & _
                     "は既に存在しています。" & _
                     vbCrLf & _
                     "既存のファイルを削除しますか?"

        ' 同名ファイルが存在している場合、既存ファイルの削除を確認
        lngReturnValue = MsgBox(strMessage, _
                                vbYesNo Or vbQuestion)

        If lngReturnValue = vbYes Then
            ' [はい]が押されたら既存ファイルを削除
            objFileSystem.DeleteFile strFileName
        Else
            Exit Sub
        End If

    End If

    ' 作成するファイル名
    Set objFile = objFileSystem.CreateTextFile(strFileName, False)

    ' ファイルを閉じる
    objFile.Close
    
    ' オブジェクトを解放
    Set objFileSystem = Nothing
    Set objFile = Nothing

End Sub
  

◆従来のファイル入出力ステートメントを利用する方法

Private Sub Command2_Click()
    Dim strFileName    As String
    Dim strMessage     As String
    Dim lngReturnValue As Long
    Dim intFileNo      As Integer
    
    ' 作成するファイル名
    strFileName = "D:\test\Readme.txt"

    ' 同名ファイルの存在を確認
    If Dir(strFileName) <> "" Then
        strMessage = strFileName & _
                     "は既に存在しています。" & _
                     vbCrLf & _
                     "既存のファイルを削除しますか?"

        ' 同名ファイルが存在している場合、既存ファイルの削除を確認
        lngReturnValue = MsgBox(strMessage, _
                               vbYesNo Or vbQuestion)

        If lngReturnValue = vbYes Then
            ' [はい]が押されたら既存ファイルを削除
            Kill strFileName
        Else
            Exit Sub
        End If

    End If

    ' 空いているファイル番号を取得
    intFileNo = FreeFile
    Open strFileName For Output As intFileNo

    ' ファイルを閉じる
    Close intFileNo

End Sub
  

これら2つの例では、作成先のフォルダに同名のファイルがあると、下図のようなメッセージが表示されます。

メッセージボックス

▼ページトップへ