La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Sviluppare Smart Document di Office 2003 Introduzione Luca Regnicoli MCSD.NET MCSE+I MCDBA MCT"— Transcript della presentazione:

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

2 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

3 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

4 Smart Document Basics Parte I

5 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

6 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

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

8 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)

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

10 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)

11 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

12 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

13 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

14 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

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

16 /xmlexpansionpacks/2003"> /xmlexpansionpacks/2003"> Struttura del file Manifest /xmlexpansionpacks/2003"> descrizione del manifest descrizione della solution /xmlexpansionpacks/2003"> descrizione del manifest descrizione della solution

17 Manifest - Elementi file ... solutionActionHandler bin\Codice.dll Libreria.ClasseAzione solutionActionHandler bin\Codice.dll Libreria.ClasseAzione ... solutionActionHandler bin\Codice.dll Libreria.ClasseAzione solutionActionHandler bin\Codice.dll Libreria.ClasseAzione

18 Manifest - Elementi file ... schema bin\Schema.xsd schema bin\Schema.xsd ... schema bin\Schema.xsd schema bin\Schema.xsd

19 Schema xmlns:xs="http://www.w3.org/2001/XMLSchema">... ... xmlns:xs="http://www.w3.org/2001/XMLSchema">... ...

20 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

21 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

22 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

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

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

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

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

27 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

28 Demo SmartDocument Finalmente del codice....

29 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

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


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

Presentazioni simili


Annunci Google