programación para office 2003 con visual studio tools for office system octavio hernández...
Post on 03-Jan-2015
4 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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.
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
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
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
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
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
Creación de proyectos Creación de proyectos OfficeOffice
Consideraciones de Consideraciones de desplieguedespliegue
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
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
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
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
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
Consideraciones de Consideraciones de seguridadseguridad
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
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
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..
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.
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
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//
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
info@danysoft.cominfo@danysoft.com
Gracias por su asistenciaGracias por su asistencia
top related