programación para office 2003 con visual studio tools for office system octavio hernández...

27
Programación para Programación para Office 2003 con Office 2003 con Visual Studio Tools Visual Studio Tools for Office System for Office System Octavio Hernández Octavio Hernández Servicios Profesionales Servicios Profesionales Danysoft Danysoft

Upload: dulce-martha

Post on 03-Jan-2015

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Programación para Programación para Office 2003 con Visual Office 2003 con Visual Studio Tools for Office Studio Tools for Office SystemSystemOctavio HernándezOctavio HernándezServicios ProfesionalesServicios ProfesionalesDanysoftDanysoft

Page 2: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

OrdenOrden deldel díadía

IntroducciónIntroducción

Presentación de Visual Studio Tools for Presentación de Visual Studio Tools for the Microsoft Office Systemthe Microsoft Office System

Creación de proyectos Excel y WordCreación de proyectos Excel y Word

Consideraciones de despliegue y Consideraciones de despliegue y seguridadseguridad

Demostración prácticaDemostración práctica

ConclusionesConclusiones

Page 3: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Situación actualSituación actual

Aplicaciones webAplicaciones webFacilidad de instalación Facilidad de instalación y mantenimientoy mantenimiento

Multi-plataformaMulti-plataforma

Impacto en el clienteImpacto en el cliente

Aplicaciones Aplicaciones WindowsWindows

Interfaz de usuario más Interfaz de usuario más ricarica

Acceso a recursos Acceso a recursos localeslocales

Trabajo desconectadoTrabajo desconectado

Office es el cliente rico Office es el cliente rico más utilizadomás utilizado

Herramientas Herramientas productivas y fáciles de productivas y fáciles de usarusar

Problemas potenciales Problemas potenciales de mantenimiento, de mantenimiento, despliegue y seguridaddespliegue y seguridad

.NET Framework.NET FrameworkPotencia y Potencia y flexibilidad del flexibilidad del cliente ‘rico’cliente ‘rico’

Facilidad de Facilidad de despliegue y despliegue y estabilidad del estabilidad del modelo basado en modelo basado en navegadornavegador

Page 4: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Visual Studio Tools for OfficeVisual Studio Tools for Office

Permite a los desarrolladores utilizar Permite a los desarrolladores utilizar Microsoft Office como plataforma para el Microsoft Office como plataforma para el desarrollo y despliegue de soluciones de desarrollo y despliegue de soluciones de negocio, aprovechando toda la potencia de negocio, aprovechando toda la potencia de .NET y VS.NET..NET y VS.NET.Permite el desarrollo de clientes ricos para Permite el desarrollo de clientes ricos para Office:Office:

SegurosSegurosMás fiablesMás fiablesMás potentesMás potentesMás fáciles y rápidos de desarrollarMás fáciles y rápidos de desarrollarMás fáciles de actualizarMás fáciles de actualizar

Page 5: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Visual Studio Tools for OfficeVisual Studio Tools for Office

Extiende el desarrollo .NET a las Extiende el desarrollo .NET a las soluciones de negocio basadas en soluciones de negocio basadas en OfficeOffice

Permite a los desarrolladores de C# y Permite a los desarrolladores de C# y VB.NET utilizar VS.NET para asociar VB.NET utilizar VS.NET para asociar código a hojas Excel y documentos código a hojas Excel y documentos WordWord

Código separado del documento para Código separado del documento para simplificar el despliegue y simplificar el despliegue y mantenimientomantenimiento

Utiliza la seguridad que ofrece .NETUtiliza la seguridad que ofrece .NET

Page 6: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Requisitos para la instalaciónRequisitos para la instalación

NET Framework v 1.1NET Framework v 1.1

VS.NET 2003 Profesional o superiorVS.NET 2003 Profesional o superior

Ayuda MSDNAyuda MSDN

Microsoft Office 2003 Profesional Microsoft Office 2003 Profesional Ensamblados primarios de Ensamblados primarios de interoperabilidad (P.I.A.) para Excel, interoperabilidad (P.I.A.) para Excel, Word, Forms, GraphWord, Forms, Graph

V.S.T.O.V.S.T.O.

Page 7: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Características principalesCaracterísticas principales

Plantillas de proyectos C# y VB.NETPlantillas de proyectos C# y VB.NETHoja Excel, documento y plantilla WordHoja Excel, documento y plantilla Word

Asistente de Proyectos OfficeAsistente de Proyectos OfficePuede utilizar un documento existente o Puede utilizar un documento existente o crear uno nuevocrear uno nuevoHace referencia a los PIAs Hace referencia a los PIAs correspondientes al tipo de proyectocorrespondientes al tipo de proyectoGenera automáticamente el código para Genera automáticamente el código para inicializar el proyecto y disparar los inicializar el proyecto y disparar los eventos de la aplicación Officeeventos de la aplicación OfficeCrea la configuración de seguridad Crea la configuración de seguridad necesaria para la ejecución en la necesaria para la ejecución en la máquina de desarrollomáquina de desarrollo

Page 8: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Imports System.Windows.FormsImports System.Windows.FormsImports Office = Microsoft.Office.CoreImports Office = Microsoft.Office.CoreImports Excel = Microsoft.Office.Interop.ExcelImports Excel = Microsoft.Office.Interop.ExcelImports MSForms = Microsoft.Vbe.Interop.FormsImports MSForms = Microsoft.Vbe.Interop.Forms

' Atributo de integración con Office. Identifica la clase inicial del documento. ' Atributo de integración con Office. Identifica la clase inicial del documento. <Assembly: System.ComponentModel.DescriptionAttribute( _<Assembly: System.ComponentModel.DescriptionAttribute( _

"OfficeStartupClass, Version=1.0, Class=SampleXLProject.OfficeCodeBehind")> "OfficeStartupClass, Version=1.0, Class=SampleXLProject.OfficeCodeBehind")>

Public Class OfficeCodeBehind Public Class OfficeCodeBehind

Friend WithEvents ThisWorkbook As Excel.WorkbookFriend WithEvents ThisWorkbook As Excel.Workbook Friend WithEvents ThisApplication As Excel.ApplicationFriend WithEvents ThisApplication As Excel.Application

Private Sub ThisWorkbook_Open() Handles ThisWorkbook.OpenPrivate Sub ThisWorkbook_Open() Handles ThisWorkbook.Open Dim sheet1 As Excel.Worksheet = CType(ThisWorkbook.Worksheets(1), Dim sheet1 As Excel.Worksheet = CType(ThisWorkbook.Worksheets(1),

Excel.Worksheet)Excel.Worksheet) Dim rng As Excel.Range = sheet1.Range("A1")Dim rng As Excel.Range = sheet1.Range("A1") rng.Value = "Hello World!"rng.Value = "Hello World!" End SubEnd Sub

Private Sub ThisWorkbook_BeforeClose(ByRef Cancel As Boolean) _Private Sub ThisWorkbook_BeforeClose(ByRef Cancel As Boolean) _ Handles ThisWorkbook.BeforeCloseHandles ThisWorkbook.BeforeClose Cancel = FalseCancel = False End SubEnd Sub

End ClassEnd Class

Características de un Características de un proyecto Officeproyecto Office Referencias a

ensamblados

Atributo para integración Office

Variables Documento y

Aplicación

Eventos Open (New) y Close

Page 9: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Componentes de un proyecto Componentes de un proyecto OfficeOffice

Dos componentes:Dos componentes:Un documento Office que actúa como Un documento Office que actúa como ““front endfront end” de la solución” de la soluciónUn ensamblado (Un ensamblado (code-behind DLLcode-behind DLL) que ) que contiene el código compilado del contiene el código compilado del proyectoproyecto

Un ensamblado por documento Un ensamblado por documento El ensamblado se enlaza al El ensamblado se enlaza al documento mediante propiedades documento mediante propiedades personalizadaspersonalizadas

_AssemblyName0_AssemblyName0_AssemblyLocation0_AssemblyLocation0

Ruta local, UNC o HTTP relativa o absolutaRuta local, UNC o HTTP relativa o absoluta

Page 10: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Carga del códigoCarga del código

Cargador incorporado en Word y Cargador incorporado en Word y ExcelExcel

Cuando se abre el documentoCuando se abre el documentoEl cargador busca las propiedades El cargador busca las propiedades personalizadaspersonalizadas

Se carga el CLR dentro del procesoSe carga el CLR dentro del proceso

Se trae a memoria el códigoSe trae a memoria el código

Si el documento y el código son de Si el documento y el código son de confianza, el código es activadoconfianza, el código es activado

Page 11: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Carga del código (2)Carga del código (2)

Usuario abredocumento

CustomProps?

Trusteddoc?

Trustedcode?

Disparar eventoNew/Open

NO

STOP

NO

STOP

STOP

Traerassembly

NO

DescargarAppDomain

ERROR

Conectareventos

SI

ERROR

SI

CrearAppDomainERROR

Cargar CLRSI

ERROR

Page 12: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Creación de proyectos Creación de proyectos OfficeOffice

Page 13: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Consideraciones de Consideraciones de desplieguedespliegue

Page 14: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Elementos básicosElementos básicos

Requisitos para las máquinas clientesRequisitos para las máquinas clientesOffice 2003 ProfesionalOffice 2003 Profesional

.NET Framework 1.1.NET Framework 1.1

Las PIAs referenciadas por el Las PIAs referenciadas por el ensambladoensamblado

Políticas de seguridad apropiadasPolíticas de seguridad apropiadas

Page 15: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Despliegue Local/LocalDespliegue Local/Local

A favorA favor::No se requiere acceso No se requiere acceso a la reda la red

Los usuarios pueden Los usuarios pueden modificar el modificar el documentodocumento

En contraEn contra::Las actualizaciones al Las actualizaciones al documento o documento o ensamblado requieren ensamblado requieren la redistribución a cada la redistribución a cada usuariousuario

Local / Local

Page 16: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Despliegue Local/RedDespliegue Local/Red

A favorA favor::Las actualizaciones al Las actualizaciones al ensamblado se ensamblado se simplificansimplifican

Los usuarios pueden Los usuarios pueden modificar y personalizar modificar y personalizar el documentoel documento

En contraEn contra::Las actualizaciones al Las actualizaciones al documento requieren la documento requieren la redistribución a cada redistribución a cada usuariousuario

Local / Red

Page 17: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Despliegue Red/RedDespliegue Red/Red

A favorA favor::Las actualizaciones al Las actualizaciones al ensamblado se ensamblado se simplificansimplifican

Las actualizaciones al Las actualizaciones al documento se documento se simplificansimplifican

En contraEn contra::Los usuarios no Los usuarios no pueden modificar o pueden modificar o personalizar los personalizar los documentos maestrosdocumentos maestros

Red / Red

Page 18: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Acceso offline al ensambladoAcceso offline al ensamblado

Los ensamblados que se despliegan a Los ensamblados que se despliegan a través de la red mediante direcciones través de la red mediante direcciones http://http:// o o https://https:// pueden beneficiarse pueden beneficiarse de la funcionalidad de caché del de la funcionalidad de caché del Internet ExplorerInternet Explorer

Esto permite a los documentos Esto permite a los documentos locales utilizar un ensamblado locales utilizar un ensamblado cacheado cuando la red no esté cacheado cuando la red no esté disponibledisponible

Page 19: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Consideraciones de Consideraciones de seguridadseguridad

Page 20: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Confianza del códigoConfianza del código

El CLR sólo ejecuta código de confianzaEl CLR sólo ejecuta código de confianzaPor defecto, el código local es fiablePor defecto, el código local es fiable

El código descargado de Internet se El código descargado de Internet se ejecuta con confianza parcial, a menos que ejecuta con confianza parcial, a menos que se indique explícitamente que el sitio es de se indique explícitamente que el sitio es de confianza.confianza.

Cuando el código obtiene permiso de Cuando el código obtiene permiso de ejecución, se ejecuta con los permisos del ejecución, se ejecuta con los permisos del usuariousuario

Pero es necesario protegerse de los Pero es necesario protegerse de los ataques basados en que se ejecute ataques basados en que se ejecute código cuando los usuarios abran un código cuando los usuarios abran un documentodocumento

Page 21: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Confianza del código (2)Confianza del código (2)

VSTO redefine la política de seguridad VSTO redefine la política de seguridad por defecto del CLR.por defecto del CLR.

El ensamblado requiere la asignación El ensamblado requiere la asignación explícita de confianza total (explícita de confianza total (FullTrustFullTrust) )

Política a nivel de usuario, si está en la Política a nivel de usuario, si está en la máquina localmáquina local

Política a nivel de máquina, si está en la Política a nivel de máquina, si está en la redred

Page 22: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Confianza de los documentosConfianza de los documentos

La confianza en los documentos La confianza en los documentos también debe ser explícitatambién debe ser explícita

Esto ayuda a prevenir la reutilización Esto ayuda a prevenir la reutilización maliciosa del código de confianzamaliciosa del código de confianza

Si el documento está:Si el documento está:En la máquina local – no se necesita una En la máquina local – no se necesita una políticapolítica

Enviado por e-mail – no es de confianzaEnviado por e-mail – no es de confianza

En la red – se requiere una política de En la red – se requiere una política de FullTrust a nivel de máquina para el FullTrust a nivel de máquina para el documento. Se debe utilizar documento. Se debe utilizar MSOSEC.DLLMSOSEC.DLL..

Page 23: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Configuración de políticasConfiguración de políticas

Se deben configurar las políticas de Se deben configurar las políticas de seguridad en cada máquina en la que seguridad en cada máquina en la que la extensión gestionada de Office será la extensión gestionada de Office será cargadacargada

Mecanismos para asignar los permisos:Mecanismos para asignar los permisos:Caspol.exeCaspol.exe (línea de comandos) (línea de comandos)

Herramienta de configuración de .NET Herramienta de configuración de .NET FrameworkFramework

Despliegue con Windows Installer, Despliegue con Windows Installer, SMS, etc.SMS, etc.

Page 24: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

ConclusionesConclusiones

VSTO permite extender el VSTO permite extender el desarrollo .NET a Office 2003desarrollo .NET a Office 2003

Los desarrolladores que utilicen VS.NET Los desarrolladores que utilicen VS.NET podrán crear ensamblados podrán crear ensamblados code-behindcode-behind para hojas de Excel y documentos para hojas de Excel y documentos WordWord

El código está separado del El código está separado del documento, lo que simplifica el documento, lo que simplifica el despliegue y mantenimientodespliegue y mantenimiento

Se aprovecha la mayor seguridad que Se aprovecha la mayor seguridad que garantiza .NET Frameworkgarantiza .NET Framework

Page 25: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Enlaces útilesEnlaces útiles

MSDN Magazine:MSDN Magazine:Septiembre 2003Septiembre 2003

Marzo 2004Marzo 2004

En MSDN:En MSDN:Sitio web de VSTO:Sitio web de VSTO:msdn.microsoft.commsdn.microsoft.com//vstudiovstudio/office /office

Training sobre VSTO:Training sobre VSTO:msdn.microsoft.commsdn.microsoft.com/…//…/odc_landvsto03odc_landvsto03__tr.asptr.asp//

Page 26: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

ParaPara obtenerobtener másmás informacióninformación

eRevista DanysofteRevista Danysoft

Webs DanysoftWebs Danysoft

Area Formación yArea Formación yS.ProfesionalesS.Profesionales

DVD DanysoftDVD Danysoft

Libros DanypressLibros Danypress

[email protected]@danysoft.com

Page 27: Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft

Gracias por su asistenciaGracias por su asistencia