25. Automazione con dati Excel
Quando i dati vengono forniti in Excel, è possibile utilizzare le funzioni UpdateChart
e PresentationFromTemplate
per controllare a livello di codice utilizzando tali dati.
Con UpdateChart
si scambia il foglio dati di un elemento specifico con i propri dati Excel. Con PresentationFromTemplate
si utilizzano i propri dati per creare una nuova presentazione basata su un modello di PowerPoint con elementi think-cell collegati a intervalli di dati in Excel, come descritto in 21. Collegamenti dati Excel.
L’interfaccia a entrambe le funzioni è integrata nel modello di automazione di Office e risulta pertanto accessibile con ogni linguaggio con cui è possibile programmare Office, ad esempio Visual Basic for Applications (VBA) o C#. Per istruzioni dettagliate, fare riferimento a Introduzione.
Il punto di ingresso in think-cell è l’oggetto add-in di think-cell. È accessibile tramite la collezione Application.COMAddIns
. Le chiamate a think-cell sono sempre ad associazione tardiva. Una spiegazione è fornita nella Knowledge base di Microsoft:
Utilizzo dell’associazione precoce e dell’associazione tardiva nell’automazione
Il tipo dell’oggetto add-in di think-cell è dunque semplicemente Object
e non è necessario aggiungere alcuna libreria dei tipi o alcun riferimento. È sufficiente acquisire l’oggetto per essere pronti a effettuare delle chiamate. Ad esempio, in VBA in Excel:
In C#, è possibile ottenere l’associazione tardiva dichiarando il riferimento all'oggetto dell’add-in think-cell come dynamic
; questo è anche il tipo dedotto dal compilatore quando dichiara il riferimento come var
, in modo che sia sufficiente scrivere:
In questo caso xlapp
è un riferimento a un oggetto Excel.Application
in cui è caricato think-cell.
25.1 Aggiornamento grafico
25.1.1 Firma
VBA
C#
25.1.2 Descrizione
Questa funzione aggiorna tutti gli elementi in target
con nome strName
con i dati contenuti in rgData
. Per fare in modo che i dati vengano interpretati correttamente per i grafici, l'intervallo rgData
deve essere conforme al layout predefinito del foglio dati o alla sua versione trasposta: fare riferimento anche a Creazione di un grafico da Excel e Adattamento layout dei dati. Se deve essere utilizzata la versione predefinita o quella trasposta, viene indicato impostando bTransposed
rispettivamente su false
o true
. Per gli elementi differenti dai grafici, tabelle ad esempio, il valore di bTransposed
viene ignorato.
target
deve essere una Presentation
o SlideRange
, o una singola Slide
, Master
o CustomLayout
.
Il nome strName
non fa distinzione tra maiuscole e minuscole. Deve essere stato precedentemente assegnato in PowerPoint utilizzando il controllo della proprietà Nome UpdateChart descritto in 24. Introduzione all’automazione.
Per garantire che gli elementi corretti siano selezionati come target, verificare che siano gli unici con il nome UpdateChart impostato per strName
nell'oggetto passato come pres
.
Se un elemento selezionato come target è collegato a un intervallo di dati di Excel quando si richiama questa funzione, il collegamento viene interrotto. In seguito l’elemento non sarà più collegato ad alcun intervallo Excel.
25.1.3 Esempi
Per utilizzare questi esempi, preparare una presentazione come descritto in 24. Introduzione all’automazione, e salvarla come C:\Samples\UpdateChart\template.pptx
.
VBA
Per utilizzare questo esempio, aggiungerlo a un modulo in una cartella di lavoro di Excel.
Richiede un riferimento alla libreria di oggetti di Microsoft PowerPoint 16.0 (per i dettagli, fare riferimento a Visual Basic for Applications).
L'esecuzione di UpdateChart_Sample
in una cartella di lavoro aggiornerà il grafico nel modello di presentazione con i dati contenuti nell'intervallo A1:D5
del suo primo foglio.
C#
Per utilizzare questo esempio, sostituire il codice in Program.cs
del modello di progetto C# App Console con esso.
Richiede riferimenti alla libreria di oggetti di Microsoft PowerPoint 16.0, alla libreria di oggetti di Microsoft Excel 16.0 e alla libreria di oggetti di Microsoft Office 16.0 (per i dettagli, fare riferimento a C#).
L'esecuzione dell'applicazione risultante aggiornerà il grafico nel modello di presentazione in modo da contenere una singola serie denominata “Serie 1”, con i valori 1, 2, 3, quindi salverà il risultato come template_updated.pptx
.
25.2 Presentazione da modello
25.2.1 Firma
VBA
C#
25.2.2 Descrizione
Questa funzione utilizza i collegamenti dati tra la cartella di lavoro di Excel wb
e il modello con nome file strTemplate
per creare un'istanza di tale modello aggiornando gli elementi collegati con i dati degli intervalli a cui sono collegati. Il risultato è una nuova presentazione entro l’istanza PowerPoint ppapp
.
strTemplate
può essere un percorso completo o un percorso relativo, che viene poi considerato un percorso relativo rispetto alla posizione del file della cartella di lavoro Excel wb
.
Tutti gli elementi in strTemplate
collegati alla cartella di lavoro Excel wb
vengono aggiornati (indipendentemente dal fatto che per essi sia previsto o meno un aggiornamento automatico). Nella presentazione risultante, i loro collegamenti dati vengono interrotti per impedire ulteriori modifiche a questi elementi.
Gli elementi in strTemplate
collegati a cartelle di lavoro Excel diverse da wb
restano invariati e risultano ancora collegati. In questo modo è possibile aggiornare i collegamenti da più cartelle di lavoro Excel salvando il risultato di questa funzione come nuovo modello e chiamando nuovamente questa funzione con la cartella di lavoro successiva.
Se si desidera controllare i colori dei segmenti del grafico o la formattazione delle celle della tabella con il collegamento Excel, è possibile impostare la combinazione colori rispettivamente su Usa riempimento foglio dati in alto (fare riferimento a Combinazione colori) o sulle opzioni Usa foglio dati (fare riferimento a Formattazione di una tabella). Analogamente, per controllare il formato di numero tramite il collegamento Excel, impostarlo su Usa formato Excel (vedere Formato di numero).
Assicurati di impostare le opzioni di formattazione pertinenti e il formato numerico delle rispettive celle in Excel prima di chiamare PresentationFromTemplate
.
25.2.3 Esempi
Per utilizzare questi esempi, creare innanzitutto una presentazione contenente un grafico in pila collegato all’intervallo G1:K4
del primo foglio in una cartella di lavoro di Excel, come spiegato in Creazione di un grafico da Excel. Salvare la presentazione risultante come C:\Samples\PresentationFromTemplate\template.pptx
e la cartella di lavoro come data.xlsx
all’interno della stessa directory.
VBA
Per utilizzare questo esempio, aggiungilo a un modulo nella cartella di lavoro di Excel data.xlsx
preparata come spiegato in precedenza.
Richiede un riferimento alla libreria di oggetti di Microsoft PowerPoint 16.0 (per i dettagli, fare riferimento a Visual Basic for Applications).
L'esecuzione di PresentationFromTemplate_Sample
modificherà il valore nella cella Sheet1!H3
, che è collegato al primo valore della prima serie del grafico contenuto in template.pptx
, da i=1
a 10
, crea una nuova presentazione con il grafico nel modello aggiornato per contenere quel valore e che non è più collegato alla cartella di lavoro, quindi salvarla come output_i.pptx
nella stessa directory del modello.
C#
Per utilizzare questo esempio, sostituire il codice in Program.cs
del modello di progetto C# App Console con esso.
Richiede riferimenti alla libreria di oggetti di Microsoft PowerPoint 16.0, alla libreria di oggetti di Microsoft Excel 16.0 e alla libreria di oggetti di Microsoft Office 16.0 (per i dettagli, fare riferimento a C#).
L'esecuzione dell’applicazione risultante aprirà visivamente Excel, caricherà la cartella di lavoro data.xlsx
, modificherà il valore nella cella H3
, che è collegato al primo valore della prima serie del grafico contenuto in template.pptx
, da i=1
a 10
, crea una nuova presentazione con il grafico nel modello aggiornato per contenere quel valore e che non è più collegato alla cartella di lavoro, quindi salvarla come output_i.pptx
nella stessa directory del modello.
Creazione di grafici
-
4.Introduzione alla creazione di grafici
-
5.Inserimento dati
-
6.Etichette di testo
-
7.Istogramma, grafico ad area e a linee
-
8.Elementi decorativi dei grafici
-
9.Grafico a cascata
-
10.Grafico Mekko
-
11.Grafico a ciambella e a torta
-
12.Grafico a dispersione e grafico a bolle
-
13.Diagramma di Gantt (linea temporale)