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
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
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
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
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
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
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
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
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
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
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
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
Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003
Hello WordHello Word
.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
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
Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003
SicurezzaSicurezza
Le basi per la distribuzioneLe basi per la distribuzione
Modelli di distribuzioneModelli di distribuzione
Network / NetworkLocale/
Locale
Locale / Network
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
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
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
Sicurezza dei documenti e Sicurezza dei documenti e degli assemblydegli assembly
Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003
DeploymentDeployment
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
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
Visual Studio Tools per Office 2003Visual Studio Tools per Office 2003
XML SupportXML Support
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
Domande e RisposteDomande e Risposte
Top Related