2010-02-17 5 views
7

근본적인 문제는 내부 VSTO 워드 추가 기능 방법에 대한 사용자 정의 키 바인딩을 적용하는 하나의 VSTO 워드 추가 기능에서 C# 코드 및 VBA 스크립트를 배포하려면 :방법 (C#으로 develiped) 내가 해결하기 위해 노력했다

Globals.ThisAddIn.Application.KeyBindings.Add( 
    Word.WdKeyCategory.wdKeyCategoryCommand, 
    "MyMethodName", 
    myKey, 
    ref _missing, 
    ref _missing); 

음, 문제는 (Microsoft MSDN) : "개체 모델 또는 Word 응용 프로그램에서 VBA 매크로 이외의 다른 방법으로 바인드 할 수있는 방법이 없습니다"라는 이유로이 코드가 항상 예외를 throw한다는 것입니다.

다른 개발자는 추가 기능이로드 될 때 VBA 콜백에 키 바인딩을 할당하는 VBA 메서드로 해결 방법을 구현하고 이러한 콜백에서 C# addin을 차례로 호출해야합니다. (자세한 내용은 call VBA from C#을 참조하십시오.)

이 아이디어에는 .NET AddIn 및 VBA 사용 Word 템플릿이 적용됩니다. 그러나 내 프로젝트에서이 추가 기능을 단일 클릭 패키지로 최종 사용자 컴퓨터 (보안 설정에 문제가없는 회사 네트워크 내부)에 제공해야합니다.

질문 : 하나의 배포 패키지에 C# 추가 기능 (리본)과 VBA 스크립트를 혼합하는 방법은 무엇입니까?

누구나 공유 할 경험이 있습니까?

+0

다음은 VSTO4 (.NET 4)의 솔루션입니다. "연습 : .NET Framework 4 용 ClickOnce Installer 하나에 여러 Office 솔루션 배포"(http://msdn.microsoft.com/en-us/library) /dd465290(VS.100).aspx). VSTO3는 어떻습니까? – Ghen

답변

1

그리고 여기에 우리가 간다!

Walkthrough: Deploying Multiple Office Solutions in a Single ClickOnce Installer for the .NET Framework 3.5.

손 작업을 많이합니다. 그러나 추가 종속성 (매니페스트 XML 편집)으로 ClickOnce 패키지를 업데이트하는 것이 좋습니다. 표준 ClickOnce 설치 프로그램이 나머지 작업을 처리합니다.

+0

좋은 찾기 Ghen. 이 스레드가 "응답 됨"으로 표시되도록 자신의 응답을 수락 (체크 표시) 할 수 있습니다. –

+3

링크가 끊어졌습니다. – karlipoppins

+0

링크를 업데이트 할 수있는 사람이 있습니까? –

0

hmmm은 키보드 단축키에 직접 바인드하기 위해 서브 클래 싱하는 창을 사용할 수있는 경우 일시적인 해결책으로 보입니다.

0

ClickOnce 제품 팀에 귀하의 질문을 물었습니다. 그는 VSTO 배포에 스크립트를 포함 할 수 있으며 .NET 4.0을 대상으로하는 경우 VSTO 추가 기능을 사용하여 배포 후 단계를 수행 할 수 있다고 말했습니다. 그는 또한 VSTO의 VBA Interop 기능을 통해이 작업을 수행 할 수 있다고 말했습니다. .NET 4.0을 목표로 삼고 있습니까?

관련 문제