2010-11-30 3 views
2

우리는 VSTO Excel 문서 수준 프로젝트를 가지고 있습니다. 이 프로젝트의 일부로 생성 된 Excel 문서에는 버튼, 체크 박스 등과 같은 일부 winforms 컨트롤이있는 워크 시트 (시작 시트)가 있으며 주로 데이터가 포함 된 다른 많은 워크 시트가 있습니다. 우리는 클라이언트 컴퓨터에 Windows Installer를 사용하여이 솔루션을 배포합니다. Excel 버전 2007 및 VSTO 2010입니다.Excel 문서 수준 배포 관련 질문

우리의 솔루션이 클라이언트 컴퓨터에 배포 될 때마다 클라이언트는 대개 자신의 컴퓨터에서 Excel 문서를 사용자 지정합니다. 그들은 우리가 추가 한 것과는 다른 새로운 워크 시트를 추가 할 것입니다. 또한 PI와 같은 일부 추가 기능을 설치하여 이러한 워크 시트에 데이터를 가져옵니다. 이제 우리는 일반적으로 클라이언트로부터 향상된 요청을 받았으며 대부분의 향상된 기능은 이 Excel 문서에 새로운 시트를 추가하고 있습니다. 거의 99 %의 요청이 새로운 시트를 추가하고 있습니다. 각 시트 뒤에있는 코드는 주로 시작 시트의 winform 컨트롤에 의해 트리거되는 비즈니스 로직입니다.

이제는 솔루션의 개선 된 버전을 설치할 때마다 새로운 Excel 문서를 얻은 다음 다시 시트를 추가하거나 매크로를 작성하는 등 사용자 지정을해야합니다. 그들. 요즘 우리에게 큰 문제가되는 고객은 입니다.

새로운 버전의 솔루션을 배포하고 Excel 문서 사용자 지정을 변경하지 않고 유지할 수있는 방법이 있습니까? VSTO에 대한 나의 경험은 그리 많지 않으며 많은 도움을받을 수 있습니다.

+0

vsto 문서 수준 어셈블리가 GAC에 추가 되었습니까? 아니면 매니페스트 (sxs)를 통해 Excel에서 액세스 할 수 있습니까? doc-level 어셈블리가 xlsx와 나란히 배치 된 경우 설치 프로그램이 새로운 .vsto, myassembly.dll.manifest 및 myassembly.dll을 대상 디렉토리에 밀어 넣을 수 없습니까? – gap

답변

1

코드 및 템플릿 요소 (시트, 서식, 수식, 컨트롤, 캡슐화 된 데이터 등)가 사용자가 문서를 Excel에서 분리하지만 사용자 문서를 생성하거나 수정할 수 있도록 프로젝트 디자인을 변경했습니다. EUI는 Excel Menus/Toolbars 또는 Ribbon Tabs입니다.
일반적으로 Excel Addin (XLA, XLL, COM 또는 Automation Addin)을 만들어이 작업을 수행합니다.

+0

안녕하세요 찰스, 답장을 보내 주셔서 감사합니다. 그러나 디자인을 Excel Addin 유형 프로젝트로 변경하면 설치 후 Excel의 각 인스턴스는 우리가 입력 한 기능 (예 : 워크 시트 또는 UI 컨트롤 등)을 갖게됩니다. 그렇지 않습니까? – user525293

+1

워크 시트 등은 모두 Addin에 숨겨져 있습니다. 새로운 특별 통합 문서 만들기, 시트 유형 추가 등. 원하는 경우 특수 작 업북 만들기 명령 만 사용하여 추가 기능을 시작할 수 있습니다. 그러나 동적으로 만들 수 있습니다. 사용자가 특별한 유형의 통합 문서를 열 때 (숨겨진 이름 사용) 인식 한 다음 동적으로 더 많은 메뉴 명령을 추가하십시오. 이 접근법의 다른 장점은 addin을 쉽게 업데이트 할 수 있다는 것입니다. –

0

또 다른 옵션은 설치하는 동안 이전 문서를 복사하고 새 것으로 바꾼 다음 새 시트를 가져 오지 않고 이전 시트를 가로 지르는 업그레이드 루틴을 갖는 것입니다.