Open Statement

데이터 채널을 μ—½λ‹ˆλ‹€.

ꡬ문:

FileName As String μ—΄κΈ° [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]

맀개 λ³€μˆ˜:

FileName: μ—΄λ €λŠ” 파일의 이름과 κ²½λ‘œμž…λ‹ˆλ‹€. μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” νŒŒμΌμ„ 읽으렀고 ν•˜λ©΄(Access = Read) 였λ₯˜ λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. μ‘΄μž¬ν•˜λŠ” νŒŒμΌμ— μ“°λ €κ³  ν•˜λ©΄(Access = Write) μƒˆ 파일이 λ§Œλ“€μ–΄μ§‘λ‹ˆλ‹€.

Mode: 파일 λͺ¨λ“œλ₯Ό μ§€μ •ν•˜λŠ” ν‚€μ›Œλ“œμž…λ‹ˆλ‹€. μœ νš¨ν•œ κ°’: Append(순차 νŒŒμΌμ— μΆ”κ°€), Binary(Get 및 Put을 μ‚¬μš©ν•˜μ—¬ λ°”μ΄νŠΈλ‘œ 데이터에 μ•‘μ„ΈμŠ€ν•  수 있음), Input(읽기λ₯Ό μœ„ν•΄ 데이터 채널 μ—΄κΈ°), Output(μ“°κΈ°λ₯Ό μœ„ν•΄ 데이터 채널 μ—΄κΈ°) 및 Random(μƒλŒ€ 파일 νŽΈμ§‘)

IOMode: μ•‘μ„ΈμŠ€ μœ ν˜•μ„ μ •μ˜ν•˜λŠ” ν‚€μ›Œλ“œμž…λ‹ˆλ‹€. μœ νš¨ν•œ κ°’: Read(읽기 μ „μš©), Write(μ“°κΈ° μ „μš©), Read Write(λͺ¨λ‘)

Protected: νŒŒμΌμ„ μ—° ν›„ 파일의 λ³΄μ•ˆ μƒνƒœλ₯Ό μ§€μ •ν•˜λŠ” ν‚€μ›Œλ“œμž…λ‹ˆλ‹€. μœ νš¨ν•œ κ°’: Shared(λ‹€λ₯Έ μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ νŒŒμΌμ„ μ—΄ 수 있음), Lock Read(파일 읽기 κΈˆμ§€), Lock Write(파일 μ“°κΈ° κΈˆμ§€), Lock Read Write(파일 μ•‘μ„ΈμŠ€ κ±°λΆ€)

FileNumber: μ‚¬μš© κ°€λŠ₯ν•œ 데이터 μ±„λ„μ˜ 번호λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 0μ—μ„œ 511 μ‚¬μ΄μ˜ μž„μ˜μ˜ μ •μˆ˜ μ‹μž…λ‹ˆλ‹€. ν•΄λ‹Ή 데이터 채널을 톡해 λͺ…령을 μ „λ‹¬ν•˜μ—¬ νŒŒμΌμ— μ•‘μ„ΈμŠ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Open λ¬Έ λ°”λ‘œ μ•žμ—μ„œ FreeFile ν•¨μˆ˜λ‘œ 파일 번호λ₯Ό κ²°μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

DatasetLength: μž„μ˜ μ•‘μ„ΈμŠ€ νŒŒμΌμ— λŒ€ν•΄ λ ˆμ½”λ“œμ˜ 길이λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

μ°Έκ³  μ•„μ΄μ½˜

Open 문으둜 μ—° 파일의 λ‚΄μš©λ§Œ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이미 μ—° νŒŒμΌμ„ μ—΄λ €κ³  ν•˜λ©΄ 였λ₯˜ λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.


예:

Sub ExampleWorkWithAFile

Dim iNumber As Integer

Dim sLine As String

Dim aFile As String

Dim sMsg As String

    aFile = "c:\data.txt"

    iNumber = Freefile

    Open aFile For Output As #iNumber

    Print #iNumber, "This is a line of text"

    Print #iNumber, "λ‹€λ₯Έ 쀄 ν…μŠ€νŠΈμž…λ‹ˆλ‹€."

    Close #iNumber

    iNumber = Freefile

    Open aFile For Input As iNumber

    While Not eof(iNumber)

        Line Input #iNumber, sLine

        If sLine <>"" Then

            sMsg = sMsg & sLine & chr(13)

        End If

    Wend

    Close #iNumber

    MsgBox sMsg

End Sub