2008-12-05 6 views
11

나는이 작업을 수행 할 수 있습니다질문/VBA

Dim fso As New FileSystemObject 

또는 내가이 작업을 수행 할 수 있습니다

Dim fso As Object 
Set fso = CreateObject("Scripting.FileSystemObject") 

가 어떻게 CreateObject를 사용하는 어떤 문자열을 알 수 있습니까? 예를 들어 "스크립팅"을 사용하는 방법을 어떻게 알 수 있습니까? "Scripting.FileSystemObject"의 일부입니까? 그걸 보러 어디로 가니?

답변

20

그것은 HKCR 키 아래에 Windows 레지스트리에 등록되어있는 구성 요소의 ProgID입니다 :

HKEY_CLASSES_ROOT\Scripting.FileSystemObject 

의 ProgID 년대는 COM 개체에 대한 사람이 읽을 수있는 식별자입니다. 그들은이 경우에 실제 CLSID에, 가리 :

HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228} 

이 당신이 구성 요소의 구현을 포함하는 실제 COM의 .DLL을하실 수 있습니다.

첫 번째 샘플 코드에서는 초기 바인딩을 제공하고 두 번째 샘플에서는 후기 바인딩을 수행하고 있습니다.

1

내가 http://msdn.microsoft.com/library

사이트에서 MSDN 라이브러리에서 FileSystemObject를 검색하여 시작하는 것은 CreateObject를 호출하는 방법의 세부 사항을 포함하여, 문서의 전체 꽉입니다.

2

VB6 IDE를 사용하여 프로젝트, 참조를 선택한 다음 참조 'Microsoft Scripting Runtime'을 선택하십시오.

참조가 무엇인지 모르는 경우 참조 대화 상자의 찾아보기 버튼을 사용하여 파일/시스템 32/scrrun.dll을 선택할 수 있습니다.

참조를 선택하고 참조 대화 상자를 닫은 다음 개체 브라우저 (보기 메뉴)를 엽니 다. 드롭 다운을 'Scripting'이라는 가장 가능성있는 후보로 변경하십시오. 그러면 라이브러리의 클래스 중 하나가 'FileSystemObject'입니다. 따라서 CreateObject에 필요한 문자열은 'Scripting.FileSystemObject'입니다.

참조 이름이나 파일 이름을 알지 못했지만 클래스 이름을 알고 있다면 "FileSystemObject"에 대한 레지스트리를 검색 할 수 있으며 곧 필요한 정규화 된 이름이 ' Scripting.FileSystemObject '를 호출합니다.