2010-01-14 6 views
43

나는 VSTO 개발에 필요한 도구가 무엇인지 혼란스러워합니다. 특히 Excel 2003/2007 문서를 프로그래밍 방식으로 조작하려고합니다. 나는 어떤 대답을하고 싶다면 전에 VBA을 꽤 많이했었다. 내가 VSTO에 대해이Beginning VSTO Development

몇 가지 질문은 :

  1. 나는 이것에 대한 비주얼 스튜디오 2008 익스프레스 에디션의 C#/C++를 사용할 수 있습니까?
  2. .NET Framework가 설치되어 있어야합니까?
  3. 결과 VSTO 프로그램을 실행하기 위해 동일한 시스템에 Office 사본을 설치해야합니까?

관련 도구/플러그인/IDE에 대한 링크는 인정됩니다.

참고 : 저는 VSTO 및 .NET에 익숙하지만 Office 고급 사용자입니다. COM 프로그래밍 경험이 있습니다.

답변

62

그래, 그것은 혼란을 얻을 수있는 자신이, 특히 스킵 수준의 명명 규칙 등이 기본적으로 주어, 당신이 필요합니다 :

  • 전체 버전을 (표현하지) Visual Studio 및 대상 .NET 버전입니다.
  • VSTO 실행 시간 중 하나 (VSTO 2003, VSTO 2005, VSTO 2005 SE, VSTO 2008, VSTO 2010)입니다. 귀하의 질문에 VSTO 2005 SE가 가장 좋은 방법 일 것입니다.
  • 앱을 배포 할 때 목표로 한 PIA 및 .NET 버전과 같이 이 더 필요합니다. VSTO 2010의 경우 PIA가 필요하지 않습니다 (사용중인 앱이 자동으로 앱과 함께 제공됩니다).

팁 몇 :

  • 당신이 많은 정도 .NET을 사용 한 경우 부드러운 틱 이동 해야 VSTO에 사무실 내부의 VBE에서 간다. 특정 프로그램의 목적 모델의
  • VSTO 버전 (등 엑셀, 파워 포인트는) 개체의 VBA 버전보다 더 나은/ 다른 일을 몇 더 많은 방법이있을 수 있습니다 모델. 예제의 경우 Word for VSTO 2008의 책갈피 컨트롤은 과 같지 않습니다. 은 VBA를 통해 액세스됩니다.
  • 앱을 배포하는 것은 어려울 수 있습니다. Visual Studio 2010 용 VSTO에서 에 패키지와 함께 전체 interop (PIA) 파일 을 포함 할 필요가없는 것은 바로이 때문입니다. 같은 솔루션 사무실의 다른 버전을 표적으로
  • 공식적으로 몇몇 사람 에 대해 이야기 한 것이이 문제를 해결 방법 가 있습니다 사전 VSTO 2010 지원 하지 않습니다,하지만 당신은 MSFT에서 많은 지원을받지 않습니다 그 위에.

    는에서 살펴 보셔야 일부 사이트가 있습니다. 이전 버전이지만 2005 년과 2005 년 버전의 차이점은 입니다. This one도 에 2008 버전이 포함되어 있다는 점에서 괜찮습니다.

  • Online resources for VSTO. 이 은 VSTO에 대해 학습에 대한 좋은 '점프'사이트입니다.
  • Getting Started (Visual Studio Tools for Office). 이것은, 그리고 그것은 자매 링크 페이지, 좋은 점프입니다 페이지. 단지 이 VSTO로 속도를 올리면 유용하지만, 조금 늦게는 이 좋습니다.
  • Can you build one add-in for multiple versions of Office?. 이것은 더 오래되었지만 중 일부는 Office의 여러 버전을 으로 빌드 할 때 발생하는 문제에 대해 설명합니다.
  • This site 잘 구성된 이 좋았지 만, 나는 항상 비디오가 매우 빠른 학습 방법임을 발견했습니다. 이 비디오의 대부분은 VSTO의 한 버전 인 을 사용합니다. 마지막으로

가, 마지막에 가장 적합한 저장, 이것은 내가 막 시작되었을 때 내가 읽은 책이며 매우 도움이되었다 : VSTO for Mere Mortals(TM): A VBA Developer's Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office

+0

와우, 살인자 답변. +1 –

+0

yea .. 자세히 설명 할 시간을내어 주셔서 감사합니다. 나는 캔트 작업을 표현한다는 것을 알기가 슬프다. – idazuwaika

+0

위대한 답변 미스터 오타쿠 (언제나처럼) –

4

은 .NET 용 Excel 호환 스프레드 시트 구성 요소이며 Visual Studio Express 버전에서 작동하며 .NET 2.0 이상이 필요하며 Office 또는 Excel을 설치할 필요가 없으며 무제한 배포시 무제한 배포가 가능합니다 클라이언트 및/또는 서버 컴퓨터의

실시간 샘플 here을보고 무료 시험판 here을 다운로드 할 수 있습니다.

면책 조항 : 내가하는 SpreadsheetGear LLC는

+0

스프레드 시트 for .net is great. 너무 멋지다 - 우리는 여기에 게시 된 사람들이 정말 멋진 일을하고있는 것을 보게된다. 지금까지 조엘, 제시 자유와 지금 당신을 보았습니다! –

0

당신이 Excel .NET component를 사용하여 Express Edition을 뛰어나게 만들 수 있습니다. VSTO, ADO 또는 MS Excel 자동화가 필요하지 않습니다.

Excel Jetcell .NET 구성 요소를 사용하면 Excel 스프레드 시트를 읽을 수 있습니다. 여기에 많은 이 있습니다. 예를 들어 배열에서 스프레드 시트를 만들려면 VB.NET 코드를 참조하십시오.

Imports DTG.Spreadsheet 
... 
Dim WBook = New ExcelWorkbook() 
WBook.Worksheets.Add("ArrayValues") 
For i As Short = 0 To 10 
    For j As Short = 0 To 10 
     WBook.Worksheets(0).Cells[i,j].Value = arr(i,j) 
     j = j + 1 
    Next j 
    i = i + 1 
Next i 
WBook.WriteXLSX("ExcelSpreadsheet.xlsx")