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
Scarica

Visual Studio Tools per Office System 2003