Visual Studio Tools per Office System 2003 Fabio Santini [email protected] .NET Developer Evangelist Developer And Platform Evangelism Visual Studio Tools per Office Sostituisce Office Developer Strumenti per sviluppare applicazioni per Office System 2003 con .NET Include Microsoft Visual Basic . NET 2003 Standard Access Package & Deployment Wizard Include licenza runtime di Access SQL Server Developer Edition Strumenti per sviluppare applicazioni .NET per documenti Word ed Excel Non include Office 2003 Professional Disponibile: Fine Novembre 2003 Upgrade FPP da: MOD ’97 o successivo, VS ’97 o successivo, Tools pro/ent 5.0 o successivo Agenda • Visual Studio Tools per Office System • • • • • Tecnologia Hello Word Sicurezza Deployment Supporto XML • Access Package and Deployment Wizard • Domande e Risposte VS .NET + Office 2003 Obbiettivo: Incorporare la ricchezza dei client di Microsoft Office 2003 con i benefici e i vantaggi di Visual Studio .NET 2003 Benefici Gli utenti utilizzano prodotti conosciuti L’installazione e l’aggiornamento sono trasparenti all’utente finale E’ pienamente supportata la gestione off-line Tecnologia Office .NET Visual Studio .NET Miglior modello da oggetti Gestione di documenti strutturati Sicurezza sui documenti basata su .NET Supporto per la sicurezza dei documenti Gestione nativa dei Web service XCopy Deployment .NET Framework Unico ambiente di sviluppo Multi linguaggio Debugging di applicazioni distribuite Gestione dei progetti officeVisual Studio VBA e Managed Code VBA Managed Code Extensions Il codice è collegato e memorizzato nel documento Codice separato dal documento Usa Office OM e le API del VBA Usa Office OM e il .NET Framework Funziona bene per le soluzioni che devono avere un integrazione molto spinta con Office Disegnato per la sicurezza, facilità di gestione del codice e l’uso completo dell’ambiente di sviluppo Visual Studio .NET. Funziona bene per soluzioni che sono basate su documenti Word o Excel e vogliono sfruttare al massimo il .NET Framework Limitato per la distribuzione e la sicurezza Utilizza la sicurezza di .NET Framework Pensato per la registrazione delle macro e per attività semplici Funzionalità All’interno di VS.NET viene installato l’ Office Project Wizard che viene utilizzato per creare progetti di tipo “Office code behind” Disponibile per progetti sviluppati in C# e Visual Basic .NET Word Document Word Template Excel Workbook Help integrato in MSDN Documentazione Esempi Parti di codice riutilizzabile Risuoluzione dei problemi e Tips Office Project Wizard Utilizza documenti esistenti o ne crea di nuovi Si collega alle PIA corrispondenti al tipo di progetto Autogenera del codice per inizializzare il progetto e per collegarsi agli eventi delle applicazioni Office Imposta i criteri di sicurezza necessari per una corretta esecuzione del progetto Caratteristica di un progetto Office Imports Imports Imports Imports System.Windows.Forms Office = Microsoft.Office.Core Excel = Microsoft.Office.Interop.Excel MSForms = Microsoft.Vbe.Interop.Forms Riferimenti automatici Attributi integrazione the workbook. con Office ' Office integration attribute. Identifies the startup class for <Assembly: System.ComponentModel.DescriptionAttribute( _ "OfficeStartupClass, Version=1.0, Class=SampleXLProject.OfficeCodeBehind")> Public Class OfficeCodeBehind Friend WithEvents ThisWorkbook As Excel.Workbook Friend WithEvents ThisApplication As Excel.Application Variabili Application e Document Private Sub ThisWorkbook_Open() Handles ThisWorkbook.Open Dim sheet1 As Excel.Worksheet = CType(ThisWorkbook.Worksheets(1), Excel.Worksheet) Dim rng As Excel.Range = sheet1.Range("A1") rng.Value = "Hello World!" Eventi Open (New) e End Sub Close Private Sub ThisWorkbook_BeforeClose(ByRef Cancel As Boolean) _ Handles ThisWorkbook.BeforeClose Cancel = False End Sub End Class Componenti di un progetto Office 2003 Ci sono essenzialmente due componenti: Un documento Office che rappresenta il “front end” della soluzione Un assembly (DLL) .NET creata con VS.NET che contiene il codice compilato. L’ assembly è collegato al documento attraverso l’utilizzo di custom properties create dall ‘Office Project Wizard e modificate successivamente dal processo di build di in VS.NET Custom Document Properties _AssemblyName0 Rappresenta il nome dell’assembly _AssemblyLocation0 Rappresenta la posizione dell’assembly; il percorso può essere realtivo, assoluto, indirizzo HTTP o percorso UNC Possono essere modificate con: Le proprietà del progetto Office in VS.NET La dialog presente all’interno del menu File|Properties del documento Windows Explorer Il Persistence Control distribuito con VSTO Caricamento del codice Utente apre il documento Custom Props? Si Load CLR No Si Fallisce STOP Parte evento New / Open Doc sicuro? Hook up events Si Codice Sicuro ? Download assembly No STOP STOP Creazione AppDomain Fallisce Fallisce Unload AppDomain No Fallisce Visual Studio Tools per Office 2003 Hello Word .NET Security Gli assembly e i documenti richiedono il FullTrust Permission Set Tipi di evidence per impostare i permission set in .NET Framework: MyComputer zone (macchina locale) è autmaticamente considerata FullTrust dal .NET Framework All Code, Application Directory, Hash, Publisher, Site, Strong Name, URL, Zone, and Custom Livelli di policy: User, Machine e Enterprise Setting Up Security Policies Le policy di sicurezza devono essere impostate su tutte le macchine dove andrà in esecuzione l’applicazione Impostare le policy di sicurezza richiede privilegi di amministrazione Metodi per impostare le policy: Caspol.exe Command Line Tool .NET Framework Configuration Tool Windows Installer Rieseguire l’applicazione una volta modificate le policy Visual Studio Tools per Office 2003 Sicurezza Le basi per la distribuzione Modelli di distribuzione Locale/Locale Locale / Network Network / Network Modello di distribuzione Locale/Locale Pro La rete non è necessaria Contro Locale/Locale L’aggiornamento del documento e dell’assembly deve essere fatto su tutte le macchine Modello di distribuzione Locale/Network Pro Facile aggiornamento degli assembly L’utente può modificare il documento Contro Locale / Network L’aggiornamento del documento deve essere fatto su tutte le macchine. Richiesta la rete Modello di distribuzione Network/Network Pro Facile aggiornamento del documento Facile aggiornamento dell’assembly Contro Network / Network L’utente non può personalizzarsi il documento Richiesta la connessione di rete Sicurezza dei documenti e degli assembly Visual Studio Tools per Office 2003 Deployment Lista funzionalità XML di Word Supporto schema xsd Salvare come documento XML utilizzando un proprio xsd Salvare come documento XML utilizzando lo schema Word Vista a tag XML e pannello di struttura Validazione su XML Schema (XSD) Schema library Trasformazioni XSLT in apertura e salvataggio documento Editare qualunque file XML Pannello dei task programmabile (Smart Documents) Distribuzione e aggiornamento automatico delle soluzioni XML DOM in VBA Gestione del XML all’interno del documento (XPath + XSLT) SmartTag Blocco sugli stili Restrizioni sulla modifica del documento Lista funzionalità XML di Excel Supporto XSD XML Spreadsheet Import & export di dati XML Visual design tool XSLT Transformations Ricco modello ad oggetti Integrazione con lists Visual Studio Tools per Office 2003 XML Support Riferimenti • Visual Studio Tools for Office 2003 http://msdn.microsoft.com/library/default.asp?url=/library/enus/odc_vsto2003_ta/html/vstoqsinst.asp • XML Support http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnofftalk/html/office04032003.asp • Word XML http://msdn.microsoft.com/library/en-us/dno2k3ta/html/odc_wdxmlom.asp Domande e Risposte