Principio de desarrollo VSTO

Estoy bastante confundido con cuáles son las herramientas necesarias para el desarrollo de VSTO. Específicamente, quiero manipular los documentos de Excel 2003/2007 mediante progtwigción. Hice bastantes VBA antes, si quieres relacionar alguna respuesta a eso.

Pocas preguntas que tengo sobre VSTO:

  1. ¿Puedo usar Visual Studio 2008 Express Edition C # / C ++ para esto?
  2. ¿Necesito tener .NET Framework instalado?
  3. ¿El progtwig VSTO resultante debe tener una copia de Office instalada en el mismo sistema para ejecutarse?

Se apreciarán los enlaces directos a las herramientas / plugins / IDE relevantes.

Nota: soy totalmente nuevo en VSTO y .NET, pero soy un usuario avanzado de Office. Tengo experiencia con la progtwigción COM.

Sí, puede ser confuso, especialmente teniendo en cuenta las convenciones de nombres de nivel de salto, etc. Básicamente, necesitarás:

  • Versión completa (no Express) de Visual Studio y la versión de .NET a la que se dirige.
  • Uno de los tiempos de ejecución de VSTO (VSTO 2003, VSTO 2005, VSTO 2005 SE, VSTO 2008, VSTO 2010). Por lo que preguntas, VSTO 2005 SE es probablemente tu mejor opción.
  • Al distribuir su aplicación, necesitará más, como los PIA y la versión de .NET a los que se ha dirigido. Para VSTO 2010, no necesita los PIA (lo que está utilizando se empaqueta con su aplicación automáticamente).

Un par de consejos:

  • Pasar de VBE dentro de Office a VSTO debería ser un movimiento sencillo si has usado .NET en gran medida.
  • Las versiones de VSTO de los modelos de objetos para cualquier progtwig dado (Excel, PowerPoint, etc.) puede haber algunas formas más de hacer cosas que son diferentes / mejores que en la versión de VBA del modelo de objetos. Por ejemplo, el control de marcador para Word en VSTO 2008 no es el mismo que el que es nativo de uno a través de VBA.
  • Distribuir su aplicación puede ser una molestia. Esta es la razón por la que VSTO para Visual Studio 2010 no requiere que incluya los archivos de interoperabilidad (PIA) completos con su paquete.
  • Apuntar a diferentes versiones de Office con la misma solución no es oficialmente compatible con VSTO anterior a 2010. Hay algunas maneras en torno a este tema de las que algunas personas han hablado, pero no obtendrá mucho apoyo de MSFT.

Hay algunos sitios que deberías ver:

  • Requisitos VSTO soluciones . Esto es más antiguo, pero es útil para leer sobre las diferencias entre las versiones 2005 y 2005 SE. Este también es decente, ya que incluye la versión 2008.
  • Recursos en línea para VSTO . Este es un buen sitio de ‘salto’ para aprender más sobre VSTO.
  • Primeros pasos (Visual Studio Tools for Office) . Esta, y sus páginas de enlaces hermanas, son buenas páginas de salto. No es tan útil si simplemente estás acelerando con VSTO, pero es bueno un poco más tarde.
  • ¿Puedes construir un complemento para múltiples versiones de Office? . Esto es más antiguo, pero analiza algunos de los problemas relacionados con la creación de varias versiones de Office.
  • Este sitio solía estar mejor organizado, pero siempre he descubierto que los videos son una forma muy rápida de aprender. La mayoría de estos videos usan una versión de VSTO.

Finalmente, para guardar lo mejor para el final, este es el libro que leí cuando estaba empezando y fue muy útil: VSTO para Mere Mortals (TM): Una guía para desarrolladores de VBA para el desarrollo de Microsoft Office usando Visual Studio 2005 Tools for Office

SpreadsheetGear for .NET es un componente de hoja de cálculo compatible con Excel para .NET que funcionará con ediciones de Visual Studio Express, requiere .NET 2.0 o superior, no requiere la instalación de Office o Excel y permite la distribución gratuita de regalías a un número ilimitado de computadoras cliente y / o servidor.

Puedes ver muestras en vivo aquí y descargar la versión de prueba gratuita aquí .

Descargo de responsabilidad: soy dueño de SpreadsheetGear LLC

Puede crear Excel con Express Edition utilizando este componente Excel .NET . No requiere automatización VSTO, ADO o MS Excel.

El componente Excel Jetcell .NET permite leer la hoja de cálculo de Excel. Aquí puede encontrar muchos ejemplos de Excel VB.NET y C # . Por ejemplo, vea el código de VB.NET para crear hojas de cálculo de Excel desde una matriz:

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")