2012-11-28 3 views
2

VSTO (Outlook 2007/2010)를 사용하여 전체 .NET 표현에 C++ Outlook Addin 응용 프로그램을 다시 작성합니다.Outlook Addin이 VSTO를 사용하는 HTML 양식을 렌더링하지 않지만 C++ API를 사용하면

다시 작성해야 할 기능 중 하나는 html 양식 렌더링입니다. 사용자는 체크 박스를 선택하거나, 입력을 제공하거나, 메일 작성 모드 (보내기 전에) 등에서 옵션을 선택할 수 있습니다. 그러나 HTMLBody 속성에 입력 마크 업을 넣으면 예상대로 렌더링되지 않습니다. 대신 http://postimage.org/image/jk9swfr2t/과 같은 것만 렌더링됩니다. 솔루션을 검색하는 데 오랜 시간을 보냈지 만 Word 기반 Outlook HTML 렌더링 엔진으로 인해 궁극적으로 불가능한 것으로 드러났습니다.

우리 C++ addin 코드 저장소는 매우 크고 유산입니다. 저는 C++ 개발자가 아니며 COM 및 C++ Outlook 관련 API에 대해 잘 모릅니다. 대상은 기존 기능에 따라 다시 작성하는 것입니다. 레거시 코드를 분석 할 시간과 자원이 없습니다.

하지만 가장 흥미로운 점은 입력, 체크 박스, 선택 옵션, 모든 것을 소프트웨어의 C++ 버전에서 모두 렌더링한다는 것입니다. 그래서 나는 그것이 가능하고 해킹이나 어떤 종류의 해킹을 찾기 시작했다고 짐작했다.

OutlookSpy 도구를 사용하여 이전 C++ 추가 기능을 분석했는데 HTMLBody를 채우지 못하는 것으로 나타났습니다. 부분적인 레거시 코드를 살펴보고 PR_HTML MAPI 속성을 설정했음을 발견했습니다. 불행하게도이 속성이 vsto에서 사용할 수 없다는 것을 알았 기 때문에 도움이되는지 확인할 수 없습니다.

그래서 제 질문은 다음과 같습니다

  • 당신은 VSTO를 사용하여 Outlook에서 HTML 양식을 렌더링하는 어떤 해킹을 알 수 있습니까?
  • 내 문제에 영향을 줄 수있는 item.HTMLBody 또는 PR_HTML MAPI 속성을 사용하여 차이가 있습니까?
  • 그렇다면 C#을 사용하여 PR_HTML을 설정할 수 있습니까? (나는 http://www.add-in-express.com/creating-addins-blog/2008/11/21/outlook-object-model-propertyaccessor-storageitem/ 무료로 확인했지만 나를 위해 작동하지 않습니다 - 나는 AddExpress.MAPI.dll을 추가 할 때 코드가 실행되지 않습니다)

모든 프로그래밍 방식 때문에 아웃룩 UI를 사용하여 삽입 또는 Outlook에 수출 할 수 있어야합니다 IE에서 계산하지 않습니다. 또한 Redemption 또는 Add-in Express와 같은 상용 타사 도구를 사용할 수 없습니다.

답변

0

정말 사진을 올렸습니까? :-) Outlook은 Word를 사용하여 HTML을 렌더링하므로 모든 입력 컨트롤과 스크립트가 실행되지 않습니다.

+0

그림이 작다는 사실에도 불구하고 드미트리가 맞습니다. Word에서 HTML과 스크립트를 렌더링하지 않습니다. 그러나 C++과 관련 API는이 문제를 무시하고 Outlook 2007 및 2010에서 작동합니다. OutlookSpy에서는 HtmlBody가 설정되어 있지 않아 다른 방식으로 해킹당하는 것으로 판단합니다. C++ 코드는 html로 PR_HTML 속성을 사용하므로 차이가있을 수 있는지, 그런 경우에는 C#으로이 작업을 수행 할 수 있는지 여부를 묻습니다. –