16/09/2008

Introduzione a PowerShell

Lavorare con COM

A cura di Efran Cobisi


Lavorare con oggetti COM (3)


Così come abbiamo utilizzato l’attributo “Visible”, possiamo anche richiamare i metodi (funzioni) di Excel ed utilizzarli per i nostri scopi. Potete sicuramente indovinare cosa effettua questa linea di codice, ne sono sicuro:
$b.SaveAs(".\Test.xls")
E, nel caso ve lo steste chiedendo: no, non stiamo salvando l’oggetto Excel in questo caso ma, invece, stiamo salvando il workbook così come faremmo utilizzando l’interfaccia di Excel. Siamo interessati al file XLS prodotto, non al programma in sé.

Questa demo, naturalmente, è incompleta; non vi ho mostrato nel dettaglio come ottenere le informazioni che vi consentono di manipolare Excel: come abbiamo fatto, ad esempio, a sapere che le cartelle di lavoro di Excel sono chiamate “workbook”? E come abbiamo fatto a conoscere il comando “SaveAs” e la sua sintassi? L’interfaccia di Excel è disponibile come oggetto COM e potete utilizzare qualsiasi fonte di informazioni su COM per imparare questi dettagli ed utilizzarli, successivamente, all’interno di Windows PowerShell; Get-Member è sempre di grande aiuto in questi casi. Poiché stiamo qui discutendo di Windows PowerShell, ci siamo limitati ad utilizzare le informazioni e non mostrare le fonti utilizzate per acquisirle.

Alla fine dovremo effettuare il clean up e chiudere Excel, se non l’avete già fatto voi manualmente:
$a.Quit()
Se lo desiderate, provate a risolvere questo piccolo esercizio:
D2: Create una lista di tutti i servizi e memorizzatene nome e stato di ciascuno in un foglio di lavoro Excel. Suggerimento: utilizzate l’esempio precedente per creare un oggetto Excel e assegnatelo a una variabile. Per gestire le linee all’interno del foglio Excel potete utilizzare una variabile separata, $i. Prendete lo script per l’output colorato dei servizi e sostituiteci il comando per l’output con $c.Cells.Item($i,1). Non dimenticate di incrementare $i dopo ogni linea, utilizzando $i = $i + 1. Potete inserire più comandi in un’unica linea utilizzando il punto e virgola ‘;’. Infine, salvate il risultato dell’Excel in un file XLS utilizzando, per piacere, l’automazione dell’oggetto COM di Excel e non procedendo manualmente dal menu. Nel file che ne risulterà noterete che lo stato dei servizi è visualizzato come un numero all’interno di Excel. Windows PowerShell, invece, ci semplifica la vita e visualizza tale valore come “Running” o “Stopped”, in maniera tale che sia più semplice leggere le informazioni.
FIGURA 14: OUTPUT DEI SERVIZI E DEL LORO STATO IN EXCEL 2007. QUI VENGONO UTILIZZATE, INOLTRE, LE FUNZIONALITÀ SPECIFICHE DI EXCEL 2007 PER VISUALIZZARE LO STATO DEI SERVIZI COME ICONA INVECE CHE COME NUMERO.


Commenti



Nessun commento disponibile.

EmailVerify.NET is a Microsoft .NET software component that validates e-mail addresses. valid email