2008-10-01 3 views
1

현재 개발중인 응용 프로그램에는 MS Word를 사용하여 응용 프로그램 내의 특정 텍스트 영역에 대한 맞춤법 검사를 수행하기위한 요구 사항이 있습니다.VB.Net 맞춤법 검사 기능을위한 MS Word 자동화

현재 Office 2007 (Office 12 com 개체)이 있습니다.

내 질문에 Office 12 개체에 Office 2003이있는 상자에서는 어떻게 될까요? 이는 최종 사용자뿐 아니라 다른 개발 상자와도 관련이 있습니다.

최종 결과는 해당 사용자가 사용할 수없는 것으로 판단됩니다. Office 11 개체를 사용하면 Office 07을 설치 한 사용자가 맞춤법 검사를 수행 할 수 없다는 뜻입니까?

답변

1

두 버전 모두 다른 버전이 설치되었거나 Office가 전혀 설치되어 있지 않으므로 Word에서 종속성을 사용하려고 시도했지만 포기했습니다. 대신 NetSpell을 선택하십시오.

0

나는 여기에서 추측하고있다. 그러나 2003 년 설치로 2007 PIA (Primary Interop Assembly)를 사용할 수 없다면, 당신이 원했던 전화를 추측 할 수있는 리플렉션을 통해 PIA에 액세스 할 수있다. 둘 사이의 변경, 그리고 그것은 중요하지 않습니다 - 당신은 설치되어있는 것을 사용합니다. PIA를 설치하는 경우 사용자가 가지고있는 정보를 알려주거나 조금 더 똑똑해지면서 2007 년에 시도해보십시오. 실패하면 2003을 시도해보십시오.

여기는 추측 할만하지만 시도해 볼 가치가 있습니다.

편집 : Office PIA에 대해 link을 발견했습니다. 이것은 Excel을 말하지만 실제로 Office를 포괄합니다. 나는 네가하는 일을 부러워하지 않는다. PIA (설치되어 있거나 설치되어 있지 않을 수도 있음)를 감지하여 이에 따라 조치해야 할 필요가있는 것 같습니다. 나에게 반성하는 직업처럼 들린다.

0

최신 버전의 Office는 이전 버전의 COM 개체와 거의 모든 호환성을 유지합니다. Office 2003 및 2007에 대해 프로그램을 작성하려는 경우 2003 년 출시 된 Office 11 COM 개체를 최신 상태로 유지해야하므로 종속성으로 Office 11 COM 개체를 사용해야합니다. 필요한 메서드가 두 버전의 COM 개체가 모두 존재하는지 확인하는 한 오래된 COM 개체를 사용하는 한 아무런 문제가 없어야합니다.

불행히도이 솔루션을 내 작업에 사용했지만 맞춤법 검사로 테스트하지 않았습니다. 결국에는 통합하려는 모든 버전의 Office를 사용하여 코드를 테스트해야합니다.

0

이 질문에 대한 내 반응은 단순히 다른 경로를 제안하는 것입니다. 타사 맞춤법 검사 기능을 사용해보십시오. 그들은 상대적으로 저렴합니다 (그리고 당신은 자유로운 통제를 찾을 수 있습니다). 적어도 앱에 포함 된 컨트롤의 버전을 제어하고 기능에 의존 할 수 있습니다. 솔직히이 라이브러리가 이미 Windows에 내장되어있는 것은 놀랍습니다. 물론 Windows가 지원하는 모든 언어가 복잡하기는하지만 요즘은 사용자의 기대치에 따라 복사/붙여 넣기와 비슷합니다.

0

두 버전 모두에서 작동하는 데 필요한 office11 및 office12 interop 패키지를 실제로 만들 수 있습니다. 그것은 약간의 작은 일을 필요로하지만 나는 그것을 할 수 있었다. 레지스트리에서 어떤 interop이 호출되는지 확인한 다음 올바른 버전으로 맞춤법 검사를 실행합니다. Word가 설치되어 있는지 확인하고 Word를 설치하지 않고도 철자를 검사 할 수 없다는 경고가 표시됩니다. 우리는 사용해야하는 Office에 묶여있는 의학 사전으로 인해 Word를 사용하고 있습니다.

interop 또는 Com 래퍼에서 검색을 수행하면 두 방법 모두를 쉽게 사용할 수 있습니다.