2012-08-22 4 views
0

VB6 개발 프로젝트에서 Microsoft Word 97에 대한 참조를 사용해야합니다. (긴 이야기 - MSWord97을 사용하면 Word 97 이상을 지원할 수 있습니다.Microsoft Word 97 (Word 2007이 설치됨)에 VB6 참조 설정

내 개발 컴퓨터에서 Microsoft Word 2007을 사용합니다. Word97을 설치하지 않으면 빠져 나갈 수 있다면 이상적입니다.

VB6에서는 C : \ Software \ Microsoft \ Office97Pro \ OFFICE \ mso97.dll (소프트웨어에 대한 경로 - 설치되지 않음)에 대한 참조를 설정하려고 시도했지만 작동하지 않았습니다. 나는 regsvr32 mso97.dll을 시도했지만 오류가 발생했다. mso97.dll이로드되었지만 DllRegisterServer 진입 점을 찾을 수 없었다.

누구나 내가이 작업을 수행하기 위해해야 ​​할 일을 알고 있습니까? 아니면 작동하도록 Word 97을 내 컴퓨터에 설치해야합니까?

답변

0

기본적으로 Writing Automation clients for multiple Office versions에서 제안한대로하고 싶지만 지연 바인딩을 사용하는 것에 대한 조언은 무시하는 것처럼 들립니다.

관련된 형식 라이브러리는 MSWORD8.OLB이지만 Word 97이나 Word 97을 포함하는 Office 97 Edition 없이는 얻을 수있는 합법적 인 방법이 있는지를 생각해 낼 수 없습니다. 오히려 많은 ClassID 값을 공유 할 수 있기 때문에이 tylepib 등록의 영향이 Word 2007 설치에 어떤 영향을 미치는지 확신 할 수 없습니다.

VC++ 기사 PRB: Automation of Office Using #import Can Fail if Multiple Versions of Office Are Installed에서 Microsoft는 적절한 OLB를 참조하는 한 이것이 가능한 전략 일 수 있다고 제안하는 것 같습니다. VB6에서는 typelib을 찾기 위해 VC++ #import 의미를 사용하지 않기 때문에 C++보다 VB6에서는 문제가 적습니다. 설명은 런타임에 바인딩을 제안하는 것으로 끝나기 때문에 다시 런타임의 동작을 참조 할 수 있습니다.

기사 WD: How to Obtain the Word for Windows Type Library은 어떤 경우에도 말씀 97

를 설치하여 그들은 당신이 얻을 제안 워드 (97)에 대한 말씀 (6) 및 Word 7 타입 라이브러리에 대한 링크 (링크가 더 이상 좋을 수 없다)하지만 아무도을 제공 그것만 Word 97에서 상수, 열거 형 등을 사용하고 모든 개체에 후기 바인딩을 사용하는 것이 안전합니다. 이 "반 덩어리"는 아무것도없는 것보다 낫습니다. 초기 바인딩 선언을 사용하여 초기 개발을 수행 한 다음 "Intellisense"지원을 지정하고 초기 바인딩 오브젝트 선언을 모두 늦은 바운드 As Object으로 변경하고 Set X = New TYPE을 해당 늦은 바운드 CreateObject() 호출로 대체하여 남겨 둡니다. 후행 주석으로서의 실제의 강한 타이핑 또한 조건부 컴파일 #If/#Else 블록을 사용하여 나중에 쉽게 초기 바인딩으로 되돌릴 수 있습니다.

MSWORD8.OLB를 합법적으로 얻는 것이 오늘날 불가능할 수 있으므로 OFF: "Built-in Constants in Visual Basic for Applications" (WC0993)은 많은 이전 버전의 Word 및 기타 Office 응용 프로그램의 상수를 정의하는 VB.BAS 모듈을 포함하는 다운로드를 제공합니다. 다운로드 링크 작동 - 지금 당장은!

명명 된 상수가 형식 라이브러리의 주된 이유이기 때문에 (후기 바인딩 만 실제로 안전하다고 간주 됨) 이는 나쁜 절충이 아닐 수도 있습니다. 필요한 .BAS 파일을 가져 와서 정리하고 (일부 사마귀에 바인딩해야 함) 약간의 노력으로 이러한 상수와 열거 형을 포함하는 사용자 지정 "일반 단어"TLB로 변환 할 수도 있습니다. 그 문제에 대해 누군가 이미이 작업을 수행했을 수도 있습니다. 당신이 자신의 "VB.BAS ODL/IDL"컴파일러를 작성하기 전에 몇 가지 검색을 시도하는 것이 좋습니다.

0

프로젝트에 대한 참조를 추가 할 때 MS Word x.0 Object Library을 찾으십시오. 여기서 x는 작업하려는 MS Word의 버전입니다. Word 2007 (버전 12.0)보다 낮은 버전을 참조 할 수 있다고 생각합니다. 8.0을 찾으십시오.

관련 문제