Sviluppare Smart Document di Office 2003 Introduzione Luca Regnicoli MCSD.NET MCSE+I MCDBA MCT

Slides:



Advertisements
Presentazioni simili
Come pubblicare news su Scintilena Guida on line per publisher speleo.
Advertisements

Elaborazione di Franco Grivet Chin
Accesso ai dati su Relational Database Management Systems LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento.
Carlo Becchi .NET Tutorial Carlo Becchi
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
Commenti C#.
Visual C# 4TC a.s. 2010/11 Appunti da M.De Benedittis – C# -ed. Hoepli
Corrado Cavalli Microsoft .NET MVP
ASP .NET & Web Service: Introduzione
Windows Development Day 28/01/05 Bologna The Media Center Show Daniele Bochicchio Microsoft ASP.NET MVP Daniele Bochicchio
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
Crea il tuo sito con Web Matrix e il Web Hosting su ASP.NET
Consumare Web Service Andrea Saltarello
LexLEGIS PRESENTAZIONE SOLUZIONE LexLEGIS 1.0. LexLEGIS IL PROBLEMA Redazione di corpi normativi in ottemperanza alle linee guida della presidenza della.
.NET: ambiente di esecuzione
Fabio Mignani Senior Technology Specialist
La firma digitale e il protocollo da Word in un click
Training Microsoft Visio Marzo, 2006
Sharepoint Gabriele Castellani
Live Meeting: istruzioni. Ottimizzazione di Live Meeting Chiudere tutte le applicazioni in esecuzione Cancellare la cache di Internet Explorer Utilizzare.
Academic Programs Emanuele Arpini Academic Programs Manager
ASP.NET – Data Binding Davide Vernole .NET MVP.
Massimiliano Bosco – Aliware – Torino – Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)
1 Smart Client distribuzione e aggiornamento Fabio Santini.
Strumenti di sviluppo Microsoft Campagna incentivi per Software Assurance Opportunità di vendita.
Web Services.
Università degli Studi di Modena e Reggio Emilia
Sicurezza e Policy in Active Directory. Sommario Amministrazione della sicurezza in una rete Windows 2003 Amministrazione della sicurezza in una rete.
3° Workshop "Accessibilità: primi passi per un mondo fruibile da tutti" Alessandro Olivi Modellazione di pagine WEB e accessibilità
NetSaint: una soluzione OpenSource per il network monitoring
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Corso di Informatica A.A
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Utilizzo di ASP.NET.
Introduzione ad ASP.net
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
Progettare siti con ASP.net
DBMS ( Database Management System)
C# LE BASI 2007 Prima lezione - Introduzione.
1 Applicazioni contabili
BRIDGE-3K Verso il futuro La migrazione dai sistemi HP3000. Un ponte verso il futuro conservando la cultura e le risorse aziendali. NOVITA 2007.
Excel Avanzato Personalizzare Excel.
Introduzione a C#.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Riservato Cisco 1 © 2010 Cisco e/o i relativi affiliati. Tutti i diritti sono riservati.
Installazione di Code::Blocks su macchine OSX
1 Introduzione. 2 Le motivazioni In.net Framework iniziato nel 2000 rappresenta una svolta nella tecnologia Microsoft per andare oltre ai linguaggi esistenti.
Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es.
Namespaces 1. Utilizzati per contenere tipi (classi, strutture, interfacce … ) ed altri namespaces La Class Library è organizzata gerarchicamente mediante.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Per iniziare Cos’è un Foglio Elettronico?
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> fast on demand software.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Maria Vittoria Avolio Laurea.
Creare pagine web Xhtlm. Struttura di una pagina.
Un problema importante
Microsoft Office System Introduzione a XML in Office 2003.
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
Visual Studio Tools per Office System 2003 Fabio Santini Developer Evangelist Developer And Platform Evangelism.
Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() 12 ottobre 2006.
Corso di Visual Basic 6.0 OBBIETTIVI
ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
N4N Platform Architecture PA Inside outlook.

TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Installare la lingua italiana Descrizione: Questo tutorial descrizione come installare l’interfaccia in italiano. MarcEdit, per ora, non contiene il necessario.
Interazione Persona Computer prova di progetto Gruppo: IO Componenti: Carlo Solimando Sito analizzato:
Capital GT. L’ambiente di sviluppo Capital 001. Highlights Operativi Capital GT GT è una tecnologia che permette di personalizzare Capital. Si basa su.
Transcript della presentazione:

Sviluppare Smart Document di Office 2003 Introduzione Luca Regnicoli MCSD.NET MCSE+I MCDBA MCT

Chi siamo Un gruppo di 5 personeUn gruppo di 5 persone Studiare a fondo le tecnologieStudiare a fondo le tecnologie Capire il behind the scenesCapire il behind the scenes Implementare soluzioni realiImplementare soluzioni reali Confrontarsi con le problematiche realiConfrontarsi con le problematiche reali Sperimentare nuove ideeSperimentare nuove idee Facciamo Corsi, Conferenze, TrainingFacciamo Corsi, Conferenze, Training Scriviamo libriScriviamo libri

Agenda Cosè una soluzione SmartDocumentCosè una soluzione SmartDocument Requisiti di una soluzione SmartDocumentRequisiti di una soluzione SmartDocument Architettura di SmartDocumentArchitettura di SmartDocument Assembly e ISmartDocumentAssembly e ISmartDocument ManifestManifest SchemaSchema SecuritySecurity

Smart Document Basics Parte I

Che cosè una soluzione SmartDocument? Soluzione che fornisce informazioni contestuali ed azioni allinterno del task paneSoluzione che fornisce informazioni contestuali ed azioni allinterno del task pane Scenari di utilizzoScenari di utilizzo Compilazione di unofferta commercialeCompilazione di unofferta commerciale Generazione di un documento contrattualeGenerazione di un documento contrattuale Gestione di un budget finanziarioGestione di un budget finanziario

Requisiti di una soluzione SmartDocument PC ClientPC Client Office System 2003 ProfessionalOffice System 2003 Professional oppure versioni stand-alone di Word o Excel 2003oppure versioni stand-alone di Word o Excel 2003 Se utilizziamo.NETSe utilizziamo.NET.NET Framework 1.1.NET Framework 1.1 PC SviluppoPC Sviluppo Office System 2003 ProfessionalOffice System 2003 Professional Visual Studio.NET 2003Visual Studio.NET 2003 Oppure un ambiente di sviluppo COMOppure un ambiente di sviluppo COM Microsoft Office SmartDocument SDKMicrosoft Office SmartDocument SDK Non è fondamentale, ma è un utile contenitore di sample, tool e documentazioneNon è fondamentale, ma è un utile contenitore di sample, tool e documentazione

Architettura Smart Document XML expansion pack DLL Assembly Office document Schema file Manifest file Altri assemblies

DLL / Assembly Deve contenere una classe che implementi linterfaccia COM ISmartDocumentDeve contenere una classe che implementi linterfaccia COM ISmartDocument Può essere scritto con qualsiasi linguaggio che sia in grado di implementare un interfaccia COMPuò essere scritto con qualsiasi linguaggio che sia in grado di implementare un interfaccia COM Visual Basic 6.0Visual Basic 6.0 Visual C++ 6.0Visual C DelphiDelphi.NET (Interop).NET (Interop)

Interfaccia ISmartDocument ProprietàProprietà SmartDocXmlTypeCountSmartDocXmlTypeCount SmartDocXmlTypeCaptionSmartDocXmlTypeCaption SmartDocXmlTypeNameSmartDocXmlTypeName ControlCountControlCount ControlIDControlID ControlNameFromIDControlNameFromID ControlCaptionFromIDControlCaptionFromID ControlTypeFromIDControlTypeFromID MetodiMetodi SmartDocInitialize Populate On Change ImageClick InvokeControl

ISmartDocument Non posso invocare direttamente i metodi o le proprietàNon posso invocare direttamente i metodi o le proprietà Devo attendere che il runtime passi il controllo ai nostri metodi/proprietàDevo attendere che il runtime passi il controllo ai nostri metodi/proprietà ControlCountControlCount PopulateListOrComboContentPopulateListOrComboContent Non pilotiamo direttamente i controlliNon pilotiamo direttamente i controlli NO textBox1.Text = LucaNO textBox1.Text = Luca NO string s = comboBox1.SelectedItem.TextNO string s = comboBox1.SelectedItem.Text Non possiamo gestire esplicitamente eventi sui controlliNon possiamo gestire esplicitamente eventi sui controlli NO private void button1_Click (object o, EventArgs e)NO private void button1_Click (object o, EventArgs e)

Terminologia Tipi XmlTipi Xml Contenitori di controlliContenitori di controlli Definiti nelle proprietà SmartDocXmlType*Definiti nelle proprietà SmartDocXmlType* Controlli Smart DocumentControlli Smart Document Controlli UI definiti allinterno di tipi XMLControlli UI definiti allinterno di tipi XML Definiti nelle proprietà Control*Definiti nelle proprietà Control* Devono avere ID unico allinterno dellintero task paneDevono avere ID unico allinterno dellintero task pane

Creare Tipi Xml SmartDocXmlCountSmartDocXmlCount 1 o n1 o n SmartDocXmlNameSmartDocXmlName NomeSchema#nomeElementoDelloSchemaNomeSchema#nomeElementoDelloSchema Per creare un task pane persistentPer creare un task pane persistent #actionPertainsToEntireSchema#actionPertainsToEntireSchema SmartDocXmlCaptionSmartDocXmlCaption Esempio di SmartDocumentEsempio di SmartDocument

Creare controlli Smart Document ControlCountControlCount 2 ControlIDControlID Come associare lID al controlloCome associare lID al controllo Utilizzare ControlIndex passatoci dal runtimeUtilizzare ControlIndex passatoci dal runtime ControlTypeFromIDControlTypeFromID Il controllo con ID = 1 è una labelIl controllo con ID = 1 è una label Il controllo con ID = 2 è un pulsanteIl controllo con ID = 2 è un pulsante

Controlli Smart Document ImagesImages HyperlinksHyperlinks Check boxesCheck boxes List boxesList boxes Combo boxesCombo boxes Radio buttonsRadio buttons Text boxesText boxes LabelsLabels SeparatorsSeparators ActiveX controlsActiveX controls Document fragmentsDocument fragments

Gestire click InvokeControlInvokeControl switch (ControlID) { case 2: MessageBox.Show (Pulsante cliccato); MessageBox.Show (Pulsante cliccato);......}

<manifest xmlns= " /xmlexpansionpacks/2003">/xmlexpansionpacks/2003"></manifest> <manifest xmlns= " /xmlexpansionpacks/2003">/xmlexpansionpacks/2003"></manifest> Struttura del file Manifest <manifest xmlns= " /xmlexpansionpacks/2003">/xmlexpansionpacks/2003"> descrizione del manifest <solution> descrizione della solution </solution></manifest> <manifest xmlns= " /xmlexpansionpacks/2003">/xmlexpansionpacks/2003"> descrizione del manifest <solution> descrizione della solution </solution></manifest>

Manifest - Elementi file <solution>... solutionActionHandler bin\Codice.dll Libreria.ClasseAzione solutionActionHandler bin\Codice.dll Libreria.ClasseAzione </solution><solution>... solutionActionHandler bin\Codice.dll Libreria.ClasseAzione solutionActionHandler bin\Codice.dll Libreria.ClasseAzione </solution>

Manifest - Elementi file <solution>... schema bin\Schema.xsd schema bin\Schema.xsd </solution><solution>... schema bin\Schema.xsd schema bin\Schema.xsd </solution>

Schema <xs:schema xmlns=urn:Devleap.SmartDocuments.Demo" xmlns:xs=" </xs:element>...</xs:schema> <xs:schema xmlns=urn:Devleap.SmartDocuments.Demo" xmlns:xs=" </xs:element>...</xs:schema>

Security XML expansion pack securityXML expansion pack security Manifest può essere caricato solo se è stato firmato con un certificato digitaleManifest può essere caricato solo se è stato firmato con un certificato digitale XMLSign.exe [SDK]XMLSign.exe [SDK] DisableXMLExpansionPackSecurity.regDisableXMLExpansionPackSecurity.reg Solo sulle macchine di sviluppo!Solo sulle macchine di sviluppo! Se utilizziamo.NETSe utilizziamo.NET Office si fida di mscoree.dllOffice si fida di mscoree.dll Ma non si fida del nostro assemblyMa non si fida del nostro assembly Lassembly deve avere permission di FullTrustLassembly deve avere permission di FullTrust

Collegare Manifest al documento In Word 2003In Word 2003 Menu Tools - Templates and Add-insMenu Tools - Templates and Add-ins In Excel 2003In Excel 2003 Menu Data - XML - XML Expansion PacksMenu Data - XML - XML Expansion Packs

Sviluppo.NET Utilizzare i Primary Interop Assembly per OfficeUtilizzare i Primary Interop Assembly per Office Microsoft.Office.Interop.SmartTag.dllMicrosoft.Office.Interop.SmartTag.dll ISmartDocumentISmartDocument Microsoft.Office.Interop.ExcelMicrosoft.Office.Interop.Excel Microsoft.Office.Interop.WordMicrosoft.Office.Interop.Word

Primary Interop Assembly Come vedere se sono installatiCome vedere se sono installati Global Assembly CacheGlobal Assembly Cache

Primary Interop Assembly Come installare Microsoft.Office.Interop.SmartTag.dllCome installare Microsoft.Office.Interop.SmartTag.dll

Primary Interop Assembly Come installare Microsoft.Office.Interop.Word.dllCome installare Microsoft.Office.Interop.Word.dll

Primary Interop Assembly Come vedere se li stiamo referenziando correttamente da Visual Studio.NETCome vedere se li stiamo referenziando correttamente da Visual Studio.NET

Ricapitolando... Step By Step Aggiungere la reference COM a Microsoft Smart Tag 2.0 Type LibraryAggiungere la reference COM a Microsoft Smart Tag 2.0 Type Library Implementare linterfaccia ISmartDocumentImplementare linterfaccia ISmartDocument Definire il namespace di baseDefinire il namespace di base Definire il tipo XML del documento #actionPertainsToEntireSchemaDefinire il tipo XML del documento #actionPertainsToEntireSchema Implementare le proprietà dellinterfaccia ISmartDocumentImplementare le proprietà dellinterfaccia ISmartDocument Caption dei controlliCaption dei controlli Numero di controlliNumero di controlli Id dei controlliId dei controlli Tipo di controlliTipo di controlli Nome dei controlliNome dei controlli Controllare le azioni dei controlli quali buttonControllare le azioni dei controlli quali button Impostare la caption del task paneImpostare la caption del task pane Numero di tipi xml del task paneNumero di tipi xml del task pane Nome dei tipi xml del task paneNome dei tipi xml del task pane Creare lo schema xmlCreare lo schema xml Creare il manifestCreare il manifest Configurare la Code Access SecurityConfigurare la Code Access Security Lassembly deve avere diritto di FullTrustLassembly deve avere diritto di FullTrust Aggiungere lxml expansion pack al documentoAggiungere lxml expansion pack al documento

Demo SmartDocument Finalmente del codice....

Altre Informazioni Dove posso ottenere maggiori informazioniDove posso ottenere maggiori informazioni Developer resourcesDeveloper resources Microsoft Visual Studio.NETMicrosoft Visual Studio.NET Microsoft.NET Framework SDKMicrosoft.NET Framework SDK Microsoft Developer NetworkMicrosoft Developer Network Microsoft Office 2003 Smart Document SDKMicrosoft Office 2003 Smart Document SDK

Sviluppare Smart Document di Office 2003 I vostri feedback sono importanti ScriveteciScriveteci Grazie della partecipazione –A presto