그 다음 시작이 줄을 아마 오류 생성하는, 정말 당신이 사용하는 코드의 경우 코드의 나머지 부분을 바탕으로
For Each Domain In TheTDConnection.DomainsList
는 "TheTDConnection"는 "TDC"되어야한다 :
For Each Domain In tdc.DomainsList
아, 이렇게하려면 서버에 연결하기보다는 tdc.Login ...을 호출하여 거의 확실하게 로그인해야합니다.
관련 정보 DomainsList 속성은 더 이상 사용되지 않습니다. 나는 당신이 현재의 로그온 한 사용자가 접근 할 수있는 모든 도메인 아래의 모든 프로젝트를 다루기 때문에 GetAllVisibleProjectDescriptors에 의해 반환 된 ProjectDescriptor 객체리스트를 반복 할 수 있다고 생각한다.
편집 : 이것은 원래 질문을 기반으로 한 완벽한 해결책입니다. 제공된 사용자가 액세스 할 수있는 도메인/프로젝트를 순환하는 테스트 된 코드입니다. 여기서는 QC/ALM Connectivity 추가 기능이 설치되어 있다고 가정합니다 (필수). 당신이 경우
: C:\Windows\SysWOW64\wscript.exe "c:\somewhere\myscript.vbs"
msgbox "Creating connection object"
Dim tdc
Set tdc = CreateObject("TDApiOle80.TDConnection")
msgbox "Connecting to QC/ALM"
tdc.InitConnectionEx "http://<yourServer>/qcbin/"
msgbox "Logging in"
tdc.Login "<username>", "<password>"
Dim projDesc
msgbox "Getting project descriptors"
Set projectDescriptors = tdc.GetAllVisibleProjectDescriptors
For Each desc In projectDescriptors
msgbox desc.DomainName & "\" & desc.Name
Next
msgbox "Logging out"
tdc.Logout
msgbox "Disconnecting"
tdc.Disconnect
msgbox "Releasing connection"
tdc.ReleaseConnection
편집 2 : 64 비트 시스템에서 VBScript를이 조각을 실행하는 경우
당신은 wscript.exe를의 32 비트 버전을 사용하여 실행해야 sa.GetAllDomains에서 결과 XML을 서버의 모든 도메인 \ 프로젝트 항목 목록으로 구문 분석하려고합니다 (원래의 질문 & 태그가 아직 언급되었으므로 VBScript이므로 테스트를 거쳤습니다) :
Set objDoc = CreateObject("MSXML.DOMDocument")
objDoc.Load "C:\yourXmlFile.xml"
Set objRoot = objDoc.documentElement
For Each domain in objRoot.selectNodes("TDXItem")
For Each project in domain.selectNodes("PROJECTS_LIST/TDXItem")
msgbox domain.selectSingleNode("DOMAIN_NAME").text & "\" & project.selectSingleNode("PROJECT_NAME").text
Next
Next
"개체 필요"오류가 발생하는 문장은 무엇입니까? – Xiaofu
코드를 거의 완전히 변경했습니다. 원래의 질문은 IXMLDOMNodeList와 관련이 없으며 ALM API에서 도메인 및 프로젝트를 가져 오는 것과 관련이 있습니다. 문제가 해결되면 파일 파싱 요구 사항에 대해 다른 질문을해야합니다. – Xiaofu
... 다른 API를 사용하는 중! (OTA API, 지금은 SiteAdmin API였습니다) – Xiaofu