문제

나는 지식을 멍청이들과 공유하기 위해 시간과 에너지를 기꺼이 보내는 멋진 사람들 중 한 명 으로부터이 코드를 받았습니다.

Sub ReadLinesFromAFileOneAfterAnother ()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, MyFile, FileName, TextLine

Set fso = CreateObject("Scripting.FileSystemObject")

FileName = "c:\testfile.txt"

Set MyFile = fso.OpenTextFile(FileName, ForReading)

'' Read from the file
Do While MyFile.AtEndOfStream <> True
    TextLine = MyFile.ReadLine

    '' Do stuff to TextLine

Loop
MyFile.Close
End Sub

이 코드가 수행하는 작업을 알고 있지만 각 요소가 무엇을 의미하는지 알고 싶을 것입니다. 누구든지,이 코드의 세 번째 줄이 무엇인지 설명 할 수 있습니까?

Dim fso, MyFile, FileName, TextLine

처음에 "FSO"는 무엇입니까? 나는 그것이 "파일 시스템 객체"를 의미한다는 것을 알고 있지만, 그것이 실제로 무엇인지, 그리고 그것이 무엇을 달성하는지 설명하는 것은 거의하지 않습니다. 다음 세 단어가 무엇을 의미합니까 ( "myfile", "filename", "textline")는 무엇을 의미합니까? 그들은 어떤 종류의 매개 변수입니까?

나는 이것을 읽었다 :http://msdn.microsoft.com/en-us/library/h7se9d4f(vs.85).aspx

이: http://msdn.microsoft.com/en-us/library/ebkhfaaz(vs.85).aspx

그러나 그 자료가 스스로 글을 쓸 수있는 사람들을 위해 그 자료가 멍청한 것처럼 느껴집니다. 나는 아무것도 이해하지 못했습니다. 물론 어떤 것들은 어느 정도 명확하지만, 내가 모르는 다른 용어와 단어가 너무 많습니다! 결국, 완전하고 명확한 그림은 하나도 없습니다.

그래서 나는 포기하고 여기로 돌아 오기로 결정했습니다. 이 사이트는 아마도 인터넷에서 몇 안되는 것 중 하나 일 것입니다 (사실 나는 다른 사람을 만나지 못했습니다). 이것은 나 에게이 현재 질문을하는 것에 대한 일종의 근거를 준다.

그래서, 누구든지, "fso"가 무엇인지 간단하게 설명하십시오. 정확히, 위의 코드의 세 번째 줄은 전부입니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

코드 줄 :

Dim fso, MyFile, FileName, TextLine

유형 변형의 '변수'라는 것을 선언합니다.

변수는 이름과 유형이있는 메모리의 약간의 공간입니다. 당신은 그것들을 사용하여 프로그램에 나중에 코드에서 프로그램을 활용할 것임을 알려줍니다.

일반적으로 변수에 유형 (정수 또는 문자열과 같은)을 제공하지만 코더는 그렇지 않으므로 변형으로 기본값이 표시되어 모든 유형 (본질적으로)을 사용할 수 있습니다.

당신이 한 후에 :

Set fso = CreateObject("Scripting.FileSystemObject")

그런 다음 FSO에는 파일 시스템에 대한 작업을 수행 할 수있는 약간의 코드가 포함되어 있습니다.

Set MyFile = fso.OpenTextFile(FileName, ForReading)

FSO 기능을 사용하여 'Filename'변수에 지정한 파일 이름을 열고 'MyFile'변수에 참조를 표시합니다.

따라서 MyFile 변수를 사용하여 파일로 추가 작업을 수행 할 수 있습니다.

'do whi에는'루프가 해당 파일을 한 번에 한 줄 씩 읽고 (myfile.Readline) 결과를 'TextLine'변수에 넣습니다. 파일이 완료되었습니다.

이 코드의 아이디어는 파일을 라인별로 읽고 각 줄의 내용으로 작업을 수행하는 것입니다. 서브의 제목이 나타내는대로 인쇄하고 로그인하고 사용자에게 표시 할 수 있습니다!

솔직히 말해서 VB에 대한 기본 사항은 그러한 코드를 해석하려면 온라인 자습서 나 책을 찾는 것이 좋습니다.

다른 팁

모든 라인이 수행하는 모든 라인은 코드에서 더 많이 사용할 변수로 정의하는 것입니다.

또한 StackoverFlow 에서이 게시물을 참조하십시오. Dim은 Visual Basic 및 Basic에서 무엇을 의미합니까?

Dim fso, MyFile, FileName, TextLine

이 라인 정의합니다 변수.
그렇게하는 목적 오타를 잡는 데 도움이됩니다 변수는 스크립트 전체에서 참조됩니다. 이것은 일반적으로 탠덤 위에 사용됩니다 옵션 명시 적 (일반적으로 스크립트 상단에 있습니다).

기본적으로 VBA는 그렇지 않습니다 필요하다 해당 변수는 정의됩니다. 옵션을 사용 하여이 [바보] 기본 동작을 무시할 수 있습니다. Option Explicit 따라서 특정 변수가 정의되지 않을 때 "정의되지 않은 변수"예외가 생성됩니다.
이 설정이 없다면, 질문의 스 니펫에서 예를 들어, 4 행에서 우리가 Filenam이라는 이름을 부적절하게 유사하게 한 경우, E를 생략하고 VBA가 진행되며 Filenam과 Filenam이 효과적으로 두 가지 변수를 가지고 있습니다. 나중에 프로그램의 나중에, 가변 파일 이름을 올바르게 사용하면 빈 값을 사용하여 미묘하고 버그를 찾기가 어렵습니다.

그 세 번째 줄은 단순히 나중에 사용하도록 정의합니다. FSO, Filename 등은 단순히 코드의 뒷부분에서 사용할 자리 표시 자 변수입니다. FSO가 선언되어 새 파일 시스템 객체로 설정됩니다. 이것은 NTF, 지방 등의 모든 유형의 파일 시스템 일 수 있지만 시스템의 파일 작업을 수행하려는 것입니다. 그런 다음이를 사용하여 읽기 만 지정된 파일을 열고 나머지 코드는 진행됩니다. 파일, 입력 스트림 또는 별도의 추가 파일 시스템 등 프로그램이 읽을 위치를 알 수 있도록 FSO를 지정해야합니다.

나는 그것이 다소 도움이되기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top