FSO모델을 사용하여 순차텍스트파일을 만드는 방법에는 다음 3가지가 있다.
createTextFile
파일이름을 작성하고 파일을 읽거나 쓰는데 사용되는 createTextFile메서드를 사용하는 것이다.
object.createTextFile(파일명 [,파일작성 [,unicode작성]])
구성요소 | 설명 |
---|---|
object | fileSystemObject나 folder개체의 이름 |
파일명 | 작성한 파일을 나타내는 문자식 |
파일 작성 | false(기본값)는 새로운 파일작성, true는 존재하는 파일에 겹쳐쓴다. |
unicode | false(기본값)는 ascii파일로 작성, true는 unicode로 작성한다. |
Private Sub Form_Load()
Dim fs As New FileSystemObject
'Dim문 대신 set fs = createObject("scripting.fileSystemObject")도 가능
Set a = fs.CreateTextFile("c:\text.txt", True)
End Sub
openTextFile
파일을 열거나 작성할 수 있는 openTextFile메서드를 사용하는 것이다.
object.openTextFile(파일명 [,입출력모드 [,파일작성 [,파일형태]]])
구성요소 | 설명 |
---|---|
object | fileSystemObject의 이름 |
파일명 | 열어 볼 파일을 나타내는 문자열 |
입출력모드 | forReading(읽기전용), forWriting(겹쳐쓰기), forAppending(파일끝에 추가) |
파일작성 | false(기본값)은 기존파일, true이면 새 파일작성 |
파일형태 | tristateUseDefault(기본값), tristateTrue(unicode로 파일개방), tristateFalse(ascii로 파일개방) |
Private Sub Form_Load()
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("c:\test.txt", ForAppending, True, TristateFalse)
End Sub
openAsTextStream
지정된 파일을 열어 파일을 읽거나 쓰거나 또는 추가하는데 사용하는 File개체인 openAsTextStream메서드를 사용하는 것이다.
object.openAsTextStream([입출력모드, [파일형태]])
다음 예제코드는 createTextFile(fileSystemObject개체)로 파일을 작성하고 openAsTextStream(file개체)메서드를 사용하여 겹쳐쓰기를 하려는 준비코드이다.
Private Sub Form_Load()
Dim fso As New FileSystemObject, file1 As File, ts As TextStream
fso.CreateTextFile ("c:\test.txt")
Set file1 = fso.GetFile("c:\test.txt")
Set ts = file1.OpenAsTextStream(ForWriting)
End Sub
이러한 FSO모델은 순차적 텍스트파일만 작성할 수 있을 뿐, 임의파일이나 이진파일 만들기를 지원하지 않는다.