28
Visual Studio Tools Visual Studio Tools per Office System per Office System 2003 2003 Fabio Santini Fabio Santini [email protected] [email protected] .NET Developer Evangelist .NET Developer Evangelist Developer And Platform Evangelism Developer And Platform Evangelism

Visual Studio Tools per Office System 2003 Fabio Santini [email protected] Developer Evangelist Developer And Platform Evangelism

Embed Size (px)

Citation preview

Page 1: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Visual Studio Tools Visual Studio Tools per Office System 2003per Office System 2003

Fabio SantiniFabio [email protected]@microsoft.com

.NET Developer Evangelist.NET Developer Evangelist

Developer And Platform EvangelismDeveloper And Platform Evangelism

Page 2: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Visual Studio Tools per OfficeVisual Studio Tools per Office

Sostituisce Office DeveloperSostituisce Office Developer Strumenti per sviluppare applicazioni per Office System Strumenti per sviluppare applicazioni per Office System

2003 con .NET2003 con .NET IncludeInclude

Microsoft Visual Basic . NET 2003 StandardMicrosoft Visual Basic . NET 2003 Standard Access Package & Deployment WizardAccess Package & Deployment Wizard

Include licenza runtime di AccessInclude licenza runtime di Access SQL Server Developer EditionSQL Server Developer Edition Strumenti per sviluppare applicazioni .NET per documenti Word Strumenti per sviluppare applicazioni .NET per documenti Word

ed Exceled Excel Non include Office 2003 Professional Non include Office 2003 Professional Disponibile: Fine Novembre 2003Disponibile: Fine Novembre 2003 Upgrade FPP da: MOD ’97 o successivo, VS ’97 o Upgrade FPP da: MOD ’97 o successivo, VS ’97 o

successivo, Tools pro/ent 5.0 o successivosuccessivo, Tools pro/ent 5.0 o successivo

Page 3: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

AgendaAgenda• Visual Studio Tools per Office SystemVisual Studio Tools per Office System

• TecnologiaTecnologia• Hello WordHello Word• SicurezzaSicurezza• DeploymentDeployment• Supporto XMLSupporto XML

• Access Package and Deployment WizardAccess Package and Deployment Wizard

• Domande e RisposteDomande e Risposte

Page 4: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

VS .NET + Office 2003VS .NET + Office 2003

Obbiettivo: Incorporare la ricchezza dei Obbiettivo: Incorporare la ricchezza dei client di Microsoft Office 2003 con i client di Microsoft Office 2003 con i benefici e i vantaggi di Visual Studio .NET benefici e i vantaggi di Visual Studio .NET 20032003

BeneficiBenefici Gli utenti utilizzano prodotti conosciutiGli utenti utilizzano prodotti conosciuti L’installazione e l’aggiornamento sono L’installazione e l’aggiornamento sono

trasparenti all’utente finaletrasparenti all’utente finale E’ pienamente supportata la gestione off-E’ pienamente supportata la gestione off-

lineline

Page 5: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

TecnologiaTecnologia

OfficeOffice Miglior modello da oggetti Gestione di documenti strutturati Sicurezza sui documenti basata su .NET

.NET.NET Supporto per la sicurezza dei documenti Gestione nativa dei Web service XCopy Deployment .NET Framework

Visual Visual Studio .NEStudio .NETT

Unico ambiente di sviluppo Multi linguaggio Debugging di applicazioni distribuite Gestione dei progetti officeVisual Studio

Page 6: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

VBA e Managed CodeVBA e Managed CodeVBA Managed Code Extensions

Il codice è collegato e Il codice è collegato e memorizzato nel documentomemorizzato nel documento Codice separato dal documentoCodice separato dal documento

Usa Office OM e le API del Usa Office OM e le API del VBAVBA

Usa Office OM e il .NET Usa Office OM e il .NET FrameworkFramework

Pensato per la registrazione Pensato per la registrazione delle macro e per attività delle macro e per attività

semplicisemplici

Disegnato per la sicurezza, Disegnato per la sicurezza, facilità di gestione del codice e facilità di gestione del codice e l’uso completo dell’ambiente di l’uso completo dell’ambiente di

sviluppo Visual Studio .NET.sviluppo Visual Studio .NET.

Funziona bene per le soluzioni Funziona bene per le soluzioni che devono avere un che devono avere un

integrazione molto spinta con integrazione molto spinta con OfficeOffice

Funziona bene per soluzioni che Funziona bene per soluzioni che sono basate su documenti Word sono basate su documenti Word

o Excel e vogliono sfruttare al o Excel e vogliono sfruttare al massimo il .NET Frameworkmassimo il .NET Framework

Limitato per la distribuzione e Limitato per la distribuzione e la sicurezzala sicurezza

Utilizza la sicurezza di .NET Utilizza la sicurezza di .NET FrameworkFramework

Page 7: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

FunzionalitàFunzionalità

All’interno di VS.NET viene installato l’ Office All’interno di VS.NET viene installato l’ Office Project Wizard che viene utilizzato per creare Project Wizard che viene utilizzato per creare progetti di tipo “Office code behind” progetti di tipo “Office code behind”

Disponibile per progetti sviluppati in C# e Visual Disponibile per progetti sviluppati in C# e Visual Basic .NETBasic .NET Word DocumentWord Document Word TemplateWord Template Excel WorkbookExcel Workbook

Help integrato in MSDNHelp integrato in MSDN DocumentazioneDocumentazione EsempiEsempi Parti di codice riutilizzabileParti di codice riutilizzabile Risuoluzione dei problemi e TipsRisuoluzione dei problemi e Tips

Page 8: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Office Project WizardOffice Project Wizard

Utilizza documenti esistenti o ne crea di Utilizza documenti esistenti o ne crea di nuovinuovi

Si collega alle PIA corrispondenti al tipo di Si collega alle PIA corrispondenti al tipo di progettoprogetto

Autogenera del codice per inizializzare il Autogenera del codice per inizializzare il progetto e per collegarsi agli eventi delle progetto e per collegarsi agli eventi delle applicazioni Officeapplicazioni Office

Imposta i criteri di sicurezza necessari per Imposta i criteri di sicurezza necessari per una corretta esecuzione del progettouna corretta esecuzione del progetto

Page 9: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

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

' Office integration attribute. Identifies the startup class for the workbook. <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

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!" End Sub

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

End Class

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

' Office integration attribute. Identifies the startup class for the workbook. <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

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!" End Sub

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

End Class

Caratteristica di un progetto Caratteristica di un progetto OfficeOffice

Riferimenti automatici

Attributi integrazione con

Office

Variabili Application e

Document

Eventi Open (New) e Close

Page 10: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Componenti di un progetto Componenti di un progetto Office 2003Office 2003 Ci sono essenzialmente due Ci sono essenzialmente due

componenti:componenti: Un documento Office che rappresenta il Un documento Office che rappresenta il

“front end” della soluzione“front end” della soluzione Un assembly (DLL) .NET creata con Un assembly (DLL) .NET creata con

VS.NET che contiene il codice compilato.VS.NET che contiene il codice compilato. L’ assembly è collegato al documento L’ assembly è collegato al documento

attraverso l’utilizzo di custom attraverso l’utilizzo di custom properties create dall ‘Office Project properties create dall ‘Office Project Wizard e modificate successivamente Wizard e modificate successivamente dal processo di build di in VS.NETdal processo di build di in VS.NET

Page 11: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Custom Document Custom Document PropertiesProperties _AssemblyName0_AssemblyName0

Rappresenta il nome dell’assemblyRappresenta il nome dell’assembly _AssemblyLocation0_AssemblyLocation0

Rappresenta la posizione dell’assembly; il percorso può Rappresenta la posizione dell’assembly; il percorso può essere realtivo, assoluto, indirizzo HTTP o percorso UNCessere realtivo, assoluto, indirizzo HTTP o percorso UNC

Possono essere modificate con:Possono essere modificate con: Le proprietà del progetto Office in VS.NETLe proprietà del progetto Office in VS.NET La dialog presente all’interno del menu File|La dialog presente all’interno del menu File|

Properties del documentoProperties del documento Windows ExplorerWindows Explorer Il Persistence Control distribuito con VSTOIl Persistence Control distribuito con VSTO

Page 12: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Caricamento del codiceCaricamento del codice

Utente apre il documento

CustomProps?

Docsicuro?

CodiceSicuro ?

Parte eventoNew / Open

No

STOP

No

STOP

STOP

Downloadassembly

No

UnloadAppDomain

Fallisce

Hook upevents

Si

Fallisce

Si

CreazioneAppDomain Fallisce

Load CLRSi

Fallisce

Page 13: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003

Hello WordHello Word

Page 14: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

.NET Security.NET Security

Gli assembly e i documenti richiedono il Gli assembly e i documenti richiedono il FullTrustFullTrust Permission Set Permission Set MyComputer zone (macchina locale) è MyComputer zone (macchina locale) è

autmaticamente considerata FullTrust autmaticamente considerata FullTrust dal .NET Frameworkdal .NET Framework

Tipi di evidence per impostare i Tipi di evidence per impostare i permission set in .NET Framework:permission set in .NET Framework: All Code, Application Directory, Hash, All Code, Application Directory, Hash,

Publisher, Site, Strong Name, URL, Zone, Publisher, Site, Strong Name, URL, Zone, and Customand Custom

Livelli di policy:Livelli di policy: User, Machine e EnterpriseUser, Machine e Enterprise

Page 15: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Setting Up Security PoliciesSetting Up Security Policies Le policy di sicurezza devono essere Le policy di sicurezza devono essere

impostate su tutte le macchine dove impostate su tutte le macchine dove andrà in esecuzione l’applicazioneandrà in esecuzione l’applicazione

Impostare le policy di sicurezza richiede Impostare le policy di sicurezza richiede privilegi di amministrazione privilegi di amministrazione

Metodi per impostare le policy:Metodi per impostare le policy: Caspol.exe Command Line ToolCaspol.exe Command Line Tool .NET Framework Configuration Tool.NET Framework Configuration Tool Windows InstallerWindows Installer

Rieseguire l’applicazione una volta Rieseguire l’applicazione una volta modificate le policymodificate le policy

Page 16: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003

SicurezzaSicurezza

Page 17: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Le basi per la distribuzioneLe basi per la distribuzione

Page 18: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Modelli di distribuzioneModelli di distribuzione

Network / NetworkLocale/

Locale

Locale / Network

Page 19: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Modello di distribuzione Modello di distribuzione Locale/LocaleLocale/Locale

ProPro La rete non è necessariaLa rete non è necessaria

ControContro L’aggiornamento del L’aggiornamento del

documento e documento e dell’assembly deve essere dell’assembly deve essere fatto su tutte le macchinefatto su tutte le macchine

Locale/Locale

Page 20: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Modello di distribuzione Modello di distribuzione Locale/NetworkLocale/Network

ProPro Facile aggiornamento Facile aggiornamento

degli assemblydegli assembly L’utente può modificare L’utente può modificare

il documentoil documento

ControContro L’aggiornamento del L’aggiornamento del

documento deve essere documento deve essere fatto su tutte le macchine.fatto su tutte le macchine.

Richiesta la reteRichiesta la rete

Locale / Network

Page 21: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Modello di distribuzione Modello di distribuzione Network/NetworkNetwork/Network

ProPro Facile aggiornamento Facile aggiornamento

del documentodel documento Facile aggiornamento Facile aggiornamento

dell’assemblydell’assembly

ControContro L’utente non può L’utente non può

personalizzarsi il documentopersonalizzarsi il documento Richiesta la connessione di Richiesta la connessione di

reterete

Network / Network

Page 22: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Sicurezza dei documenti e Sicurezza dei documenti e degli assemblydegli assembly

Page 23: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003

DeploymentDeployment

Page 24: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Lista funzionalità XML di WordLista funzionalità XML di Word

Supporto schema xsdSupporto schema xsd Salvare come documento XML utilizzando un proprio xsdSalvare come documento XML utilizzando un proprio xsd Salvare come documento XML utilizzando lo schema WordSalvare come documento XML utilizzando lo schema Word Vista a tag XML e pannello di strutturaVista a tag XML e pannello di struttura Validazione su XML Schema (XSD) Validazione su XML Schema (XSD) Schema librarySchema library Trasformazioni XSLT in apertura e salvataggio documentoTrasformazioni XSLT in apertura e salvataggio documento Editare qualunque file XMLEditare qualunque file XML Pannello dei task programmabile (Smart Documents)Pannello dei task programmabile (Smart Documents) Distribuzione e aggiornamento automatico delle soluzioniDistribuzione e aggiornamento automatico delle soluzioni XML DOM in VBAXML DOM in VBA Gestione del XML all’interno del documento (XPath + XSLT)Gestione del XML all’interno del documento (XPath + XSLT) SmartTagSmartTag Blocco sugli stiliBlocco sugli stili Restrizioni sulla modifica del documentoRestrizioni sulla modifica del documento

Page 25: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Lista funzionalità XML di ExcelLista funzionalità XML di Excel

Supporto XSDSupporto XSD XML SpreadsheetXML Spreadsheet Import & export di dati XMLImport & export di dati XML Visual design toolVisual design tool XSLT TransformationsXSLT Transformations Ricco modello ad oggettiRicco modello ad oggetti Integrazione con listsIntegrazione con lists

Page 26: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003

XML SupportXML Support

Page 27: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

RiferimentiRiferimenti• Visual Studio Tools for Office 2003 Visual Studio Tools for Office 2003

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_vsto2003_ta/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_vsto2003_ta/html/vstoqsinst.asphtml/vstoqsinst.asp

• XML SupportXML Supporthttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/html/office04032003.asphtml/office04032003.asp

• Word XML Word XML http://msdn.microsoft.com/library/en-us/dno2k3ta/html/odc_wdxmlom.asphttp://msdn.microsoft.com/library/en-us/dno2k3ta/html/odc_wdxmlom.asp

Page 28: Visual Studio Tools per Office System 2003 Fabio Santini fsantini@microsoft.com.NET Developer Evangelist Developer And Platform Evangelism

Domande e RisposteDomande e Risposte