Home Page Home Page Articoli Scopriamo cosa sono gli Office XP PIA

Scopriamo cosa sono gli Office XP PIA

Vediamo in quest'articolo una dettagliata introduzione dei PIA gli assemblies che permettono ad un'applicazione .NET di interagire e di dialogare con i prodotti della suite Microsoft Office XP.
Autore: David De Giacomi Livello:
Cosa significa PIA ?
PIA non è altro che l'acronimo di Primary Interop Assemblies e sono semplicemente degli Assemblies .NET.
Sono in pratica una sorta di wrappers che permettono ad una applicazione managed (gestita) .NET di dialogare ed utilizzare del codice unmanaged (non gestito) dei componenti COM di Microsoft Office XP.
In parole povere con questi Assemblies, possiamo comandare e usare tutte le applicazioni del pacchetto Office XP.

Dove trovo questo pacchetto e come si installa ?
Cominciamo a scaricare il pacchetto da questo indirizzo:
http://download.microsoft.com/download/c/4/8/c4813cc0-a4d4-4bb4-b486-9cbd56f38235/oxppia.exe ">Download Office XP PIAs

Una volta scaricato il pacchetto vi chiederà dove scompattare i file, scegliete una cartella di vostro piacimento. Alla fine del processo di decompressione vedrete una lista di file composta principalmente da DLL (i nostri Assemblies) corrispondenti ad ogni prodotto di Office XP:

  • Microsoft.Office.Interop.Word.dll

  • Microsoft.Office.Interop.Excel.dll

  • Microsoft.Office.Interop.Access.dll

  • Microsoft.Office.Interop.Outlook.dll

  • e così via...



L'elenco dei PIAs di OfficeXP
L'elenco dei PIAs di OfficeXP


Ora è possibile procedere all'installazione di questi Assemblies che verranno inseriti nella GAC (Global Assembly Cache) di .NET tramite l'utilità gacutil.exe offerta dal Framework ma non preoccupatevi perchè l'operazione sarà molto facile grazie ad uno script batch.

E'necessario quindi aprire un Prompt dei comandi di Visual Studio .NET in modo che siano caricate automaticamente le variabili di Path. Spostatevi nella cartella inc ui sono stati decompressi gli Assemblies (es. C:\pia) ed è sufficiente digitare: register e premere invio. (register.bat è lo script batch, potete guardare all'interno le operazioni che vengono eseguite).

A questo punto l'ambiente è pronto ed è possibile referenziare i nostri assemblies all'interno di un progetto creato con Visual Studio .NET.

Referenziare gli Assemblies dentro .NET
Potete avviare l'ambiente e creare un nuovo progetto con il linguaggio che preferite.
Una volta dentro potete procedere andando nel "Solution Explorer" e con il tasto destro sulla cartella "References" scegliere "Add Reference".
C'è un piccolo particolare adesso da segnalare. Chiunque abbia costruito precedentemente un assembly dopo averlo inserito nella GAC andava come minimo a cercarlo dalla linguetta ".NET".
In questo caso invece scegliamo la linguetta "COM" e cerchiamo la Type Library di Office XP (10) di cui abbiamo bisogno, per esempio "Microsoft Excel 10.0 Object Library".
A questo punto Visual Studio .NET automaticamente controlla nella cache se è disponibile un Assembly a cui fare riferimento. In caso affermativo quindi lo referenzia. In caso negativo si crea nella directory progetto un Assembley per l'interoperabilità dedicato.
Vediamo le differenze:

Gli Assemblies PIA sono disponibili infatti punta alla GAC
Gli Assemblies PIA sono disponibili infatti punta alla GAC


Gli Assemblies PIA non ci sono e VS.NET si è creato Assembly per l'interoperabilità
Gli Assemblies PIA non ci sono e VS.NET si è creato Assembly per l'interoperabilità


Ora come al solito possiamo richiamare i namespace all'interno del nostro progetto semplicemente usando in C#:


using Microsoft.Office.Interop.Excel;


oppure:


Imports Microsoft.Office.Interop.Excel;


Ulteriori informazioni relative a questo pacchetto le potete trovare nel file readme.htm presente nella stessa cartella in cui avete decompresso gli Assemblies. Qui ci sono anche istruzioni su come disinstallare i PIA oppure come distribuire le proprie applicazioni includendoli nel pacchetto di installazione.
Voto medio articolo: 3.5 Numero Voti: 10
David De Giacomi

David De Giacomi

MVP Program Logo Approda al mondo dell'informatica nell' Aprile del 1994. Un amico gli fa conoscere il Quick Basic del DOS. E' cosi che inizia la sua attività di sviluppatore. Prosegue il suo percorso con altri linguaggi (Visual Basic, Pascal, Java, ANSI C), fino ad arrivare a .NET. Per un certo periodo affianca all'attività ... Profilo completo

Articoli collegati

Garantire l'univocità di una colonna ammettendo valori NULL multipli
Chi sviluppa in ambito professionale o per puro diletto prima o poi si troverà ad affrontare tematiche nuove ed avvincenti. In questo articolo cercherò di illustrare tre tecniche con i relativi pregi e difetti per permettere con SQL Server di garantire l'univocità di una colonna senza alcuna limitazione sui valori NULL
Autore: Lorenzo Benaglia | Difficoltà:
Integrare Crystal Reports con una Windows Form
Ecco come sfruttare in modo semplice e rapido le funzionalità offerte dal tool di reportistica Crystal Reports di Business Objects all'interno di una Windows Form .NET, dalla crazione del Report al Binding dei dati.
Autore: Matteo Raumer | Difficoltà: | Commenti: 2
Il Logging con Integration Services 2005
Perchè si è bloccata la mia applicazione ? Che errori si sono verificati ? Perchè il flusso d'esecuzione non procede nel modo corretto ? Cerchiamo di capire come possono esserci utili le funzionalità di logging offerte da SQL Server e gli Integration Services per rendere più affidabili e consistenti le nostre applicazioni.
Autore: Alessandro Alpi | Difficoltà: | Commenti: 3
Utilizzare i SQL Server Agent Proxies con i Package SSIS
Chi utilizza frequentemente i SSIS Packages e accede a risorse esterne a SQL Server non può fare a meno di conoscere ed utilizzare i Proxy Account (o SQL Server Agent Proxies). Vediamo che cosa sono e come si utilizzano in modo proficuo.
Autore: Alessandro Alpi | Difficoltà: | Commenti: 4
SQL Server 2005 - La Import/Export utility
Chi lavora sui Database si ritrova quasi quotidianamente a dover importare o esportare dati. SQL Server 2005 agevola notevolmente il compito tramite l'Import/Export Utility (ex DTS Import/Export di SQL 2000). Vediamo come funziona.
Autore: Alessandro Alpi | Difficoltà: | Commenti: 14
Visual Studio 2005 Team System for Database Professionals
Scopriamo questo nuovo e potente Tool della famiglia Visual Studio 2005 Team System per creare, sviluppare, testare e gestire con più facilità e flessibilità i database di SQL Server.
Autore: Marco Caruso | Difficoltà:
Parallelismo tra SSIS e DTS, due prodotti a confronto
In questo articolo un'analisi sulle novità dei SQL Server 2005 Integration Services rispetto ai DTS di SQL Server 2000.
Autore: Alessandro Alpi | Difficoltà: | Commenti: 2
Overview dei SQL Server Integration Services (SSIS)
Scopriamo i nuovi Sql Server Integration Services presenti in SQL Server 2005 che sostituisco i DTS aggiungendo delle nuove funzionalità davvero interessanti
Autore: Alessandro Alpi | Difficoltà: | Commenti: 6 | Voto:
Leggere un file XML con SQL Server 2005
Scopriamo in questo articolo alcune potenzialità offerte dal nuovo database SQL 2005, tra cui il nuovo data type XML, e le Stored Procedures per importare e gestire all'interno del database file testuali in formato XML.
Autore: Lorenzo Benaglia | Difficoltà: | Commenti: 5
ExcelDataSetLib, una libreria .NET per esportare dati in formato Excel
In questo articolo verrà dimostrato come derivare la classe DataSet e integrare funzionalità per esportare in formato Excel XLS, XML o CSV i dati provenienti da un base dati qualsiasi.
Autore: David De Giacomi | Difficoltà: | Commenti: 3 | Voto:
Microsoft Application Blocks Data Access
Quante volte vi è capitato di riscrivere decine di volte lo stesso pezzo di codice all'interno di un progetto ? Scopriamo in questo articolo l'utilità dei Microsoft Application Blocks che vi permettono di ottimizzare il vostro codice evitando ripetizioni e vi facilitano la lettura.
Autore: Marco Caruso | Difficoltà:
Comprimere e decomprimere files ZIP con .NET e #ZipLib
Visualizzare il contenuto di un file Zip da una applicazione vi sembra una Mission Impossibile? Oppure la vostra azienda ha fatto un mutuo per pagare il componente che vi aiuta nel lavoro? Ecco un articolo che parla della libreria sharpZipLib, libreria Open Source per la gestione dei formati compressi.
Autore: Giovanni Ferron | Difficoltà: | Commenti: 7
Rivoluzione nel campo dei Reports con i SQL Reporting Services
Finalmente Microsoft ci mette a disposizione uno straordinario tool per la produzione di Report perfettamente integrato con l'architettura .NET. Fino ad ora siamo sempre stati abituati ad utilizzare il buono seppur limitato Crystal Report. Vediamo cosa cambia da ora in poi.
Autore: David De Giacomi | Difficoltà: | Commenti: 6 | Voto:
Migliorare la qualità dei grafici nei Crystal Reports
In questo breve articolo vedremo come aumentare la qualità dei grafici prodotti da Crystal Reports durante il rendering tramite Web con ASP.NET e all'interno di applicazioni WinForms.
Autore: David De Giacomi | Difficoltà:
Costruire Report con ASP.NET e Crystal Reports
Vedremo in questo semplice Tutorial le istruzioni base che ci permetteranno di costruire un report avanzato usando ASP.NET e l'oggetto CrystalReportViewer integrato in questa versione di Visual Studio .NET.
Autore: David De Giacomi | Difficoltà: | Commenti: 14
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5