문제

현재 개발중인 애플리케이션에는 MS Word를 사용하여 응용 프로그램 내의 특정 TextAreas에서 맞춤법 검사를 수행하기위한 요구 사항이 있습니다.

나는 현재 Office 2007 (사무실 12 com 객체)이 있습니다.

내 질문은 사무실 12 개체를 추가하면 Office 2003이있는 상자에서 어떻게 될까요? 이는 다른 개발 상자와 최종 사용자와 관련이 있습니다.

최종 결과는 해당 사용자가 주문 기능을 사용할 수 없다고 믿는 것이 맞습니까? 사무실 11 개체를 사용하면 사용자가 Office 07이 설치된 경우 사용자가 맞춤법 점검을 수행 할 수 없다는 것을 의미합니까?

도움이 되었습니까?

해결책

우리는 다른 버전이 설치되었거나 사무실 설치가 전혀 없기 때문에 Word에 의존성을 사용하려고 노력했습니다! 대신 선택 Netspell.

다른 팁

여기서 추측하고 있지만 2003 년 설치와 함께 2007 PIA (1 차 인터 로프 어셈블리)를 사용할 수없는 경우 반사를 통해 PIA에 액세스 할 수 있습니다. 둘째, 그다지 중요하지 않습니다. 설치된 어느 쪽이든 사용할 것입니다. PIA를 설치하는 경우 사용자에게 자신이 가지고있는 것을 말하거나 조금 더 영리하고 2007 년을 시도하고 실패하면 2003을 시도 할 수 있습니다.

내가 말했듯이, 나는 여기서 추측하고 있지만 시도해 볼 가치가있을 것입니다.

편집 : 나는 이것을 발견했다 링크 사무실 PIA에 대해. 이것은 Excel을 말하지만 실제로는 일반적으로 사무실을 덮습니다. 나는 당신이 가진 일을 부러워하지 않습니다. PIA (설치되었거나 설치되지 않을 수 있음)를 감지하고 그에 따라 행동 해야하는 것 같습니다. 나에게 반성하는 직업처럼 들린다.

최신 버전의 사무실은 이전 버전의 COM 객체와의 호환성이 아니라면 대부분을 유지합니다. 즉, Office 2003 및 2007에 대해 프로그램하려면 2003 년 출시되었을 때 최신 최신 제품인 Office 11 COM 객체를 종속성으로 사용해야합니다. 필요한 메소드가 존재하는지 확인하는 한 COM 객체의 두 버전을 모두 사용하는 한 이전 COM 객체를 사용하는 한 아무런 문제가 없어야합니다.

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

이 질문에 대한 나의 장의 반응은 단순히 당신이 다른 길을가는 것을 제안하는 것입니다. 타사 파티 맞춤형 컨트롤을 사용해보십시오. 그것들은 비교적 저렴합니다 (그리고 당신은 몇 가지 무료 컨트롤을 찾을 수 있습니다). 최소한이 방법으로 앱에 포함 된 컨트롤 버전을 제어하고 기능에 의존 할 수 있습니다. 솔직히 말해서,이 라이브러리가 이미 Windows에 내장되어 있지 않은 것에 놀랐습니다. 물론 Windows가 지원하는 모든 언어가 복잡하지만 요즘에는 사용자의 기대 측면에서 복사/붙여 넣기와 유사합니다.

실제로 두 버전 모두에서 작동하는 데 필요한 Office11 및 Office12 Interops를 모두 포장 할 수 있습니다. 약간의 작업이 필요하지만 나는 그것을 할 수있었습니다. 레지스트리에서 확인하여 어떤 인터 로프가 호출할지 확인한 다음 올바른 버전으로 맞춤법 검사를 실행합니다. 단어가 설치되어 있는지 확인하고 단어가 없어도 맞춤법 검사를 할 수 없다는 오류 경고를 던지기까지합니다. 우리는 우리가 사용해야하는 의료 사전으로 인해 단어를 사용하는 것과 관련이 있습니다.

Interop 또는 COM 포장지에서 검색하면 둘 다 쉽게 사용할 수 있다고 생각합니다.

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