Annuncio pubblicitario
Non sarebbe bello avere la possibilità di aprire solo un foglio di calcolo Excel o un documento di Word e senza dover fare nulla in tutti, i dati vengono letti direttamente da un file di dati di testo o CSV e caricati direttamente in un grafico incorporato nel foglio di calcolo o in Word documento? Questa è una forma di automazione che utilizza i prodotti Office, perché se è possibile automatizzare la creazione di grafici dei dati in Office, basti pensare alle possibilità. Puoi caricare automaticamente i dati in un grafico per un rapporto che stai mettendo insieme per il tuo capo - non è necessario inserire dati. Oppure puoi caricare i dati in un grafico direttamente in un'e-mail in Outlook.
La tecnica per eseguire ciò comporta l'installazione del componente aggiuntivo Office Web Components. Inoltre, devi solo configurare alcune cose all'interno dell'applicazione Office che desideri utilizzare per importare i dati e sei pronto per iniziare ad automatizzare il tuo lavoro di reporting. Ho coperto alcuni degli elementi che useremo in questo articolo in precedenza
Articoli VBA Come puoi creare la tua app semplice con VBAVuoi sapere come creare la tua applicazione VBA per risolvere i problemi? Usa questi suggerimenti per creare il tuo software VBA. Leggi di più qui su MakeUseOf. Alcuni di quelli includevano il passaggio di dati tra applicazioni con gli appunti Passa qualsiasi informazione tra le applicazioni VBA utilizzando gli AppuntiUna delle parti più frustranti di lavorare con VBA all'interno di applicazioni specifiche, è che non è sempre facile ottenere due applicazioni per "parlare" tra loro. Puoi provare per transazioni molto veloci ... Leggi di più , esportazione Attività di Outlook in Excel Come esportare le attività di Outlook in Excel con VBAIndipendentemente dal fatto che tu sia un fan di Microsoft, almeno una cosa positiva che si può dire sui prodotti MS Office è quanto sia facile integrarli uno con l'altro ... Leggi di più e invio Email da un Excel Come inviare e-mail da un foglio di calcolo Excel utilizzando gli script VBAIl nostro modello di codice ti aiuterà a configurare e-mail automatiche da Excel utilizzando Collaboration Data Objects (CDO) e script VBA. Leggi di più script.Quello che ti mostrerò è come combinare Office Web Components con script di file di testo per creare un flusso continuo e automatizzato di dati da un file di testo semplice sul computer al prodotto Office (nel nostro caso Eccellere). Puoi usare questa stessa tecnica - con alcune piccole modifiche - in Word, Outlook o persino PowerPoint. Qualsiasi prodotto Office (o qualsiasi altro prodotto del genere) che ha un back-end VBA per sviluppatori, ti consentirà di utilizzare questa tecnica.
Importa e crea un grafico da file di dati
Prima di poter creare un grafico dai file di dati, devi prima abilitare alcune cose. In questo esempio, ti mostrerò come abilitare queste funzionalità in Excel, ma il processo è quasi identico in tutti gli altri prodotti Office.
Innanzitutto, prima di poter eseguire qualsiasi sviluppo VBA, devi abilitare la scheda sviluppatore nella barra degli strumenti (se non l'hai già fatto). Per fare ciò, basta andare nel menu Opzioni, fare clic su "Personalizza barra multifunzione" e abilitare la scheda "Sviluppatore".
Di nuovo in Excle, ora vedrai apparire "Developer" nei menu. Fare clic su di esso e fare clic su "Modalità progettazione". Quindi fare clic su "Visualizza codice" per visualizzare l'editor VBA.
All'interno dell'editor è dove devi abilitare i riferimenti di cui hai bisogno per il codice che ti fornirò per funzionare. Assicurati di aver installato il componente aggiuntivo Office Web Components prima di eseguire questa operazione, altrimenti l'oggetto Microsoft Chart non sarà disponibile.
Fai clic su Strumenti, quindi su Riferimenti e vedrai un elenco di tutti i riferimenti disponibili sul tuo sistema. Se non sai cosa siano, i riferimenti sono fondamentalmente librerie di codice e oggetti che puoi inserire nel tuo progetto. Questi ti consentono di fare cose davvero interessanti, a seconda del riferimento che abiliti. Se hai appena installato Office Web Components nel tuo sistema, dovrai aggiungerlo come nuova libreria, quindi fai clic sul pulsante Sfoglia per trovare il file DLL corretto.
Se hai installato Office Web Components, il file DLL si chiama OWC11.dll ed è archiviato in c: \ programmi \ file comuni \ microsoft shared \ web Components \ 11 \
Fai clic sulla casella di controllo per il riferimento "Microsoft Office Web Components 11.0" e non dimenticare di farlo seleziona anche "Microsoft Scripting Runtime", che ti darà accesso alla lettura o alla scrittura dai dati File.
Ora che hai aggiunto il riferimento, è tempo di aggiungere il grafico effettivo al tuo foglio. In Excel, puoi aggiungere controlli facendo clic su "Inserisci" nel menu Sviluppatore e facendo clic sull'icona dei piccoli strumenti nell'angolo in "Controlli ActiveX".
Scorri fino a "Microsoft Office Chart 11.0" e fai clic su OK.
Stiamo finalmente iniziando a lavorare. Ecco come appare il grafico dei componenti Web di MS in un foglio di calcolo. Sembrerà lo stesso incorporato in un documento di Word o qualsiasi altra cosa.
Quindi, nel caso di Excel, voglio che il grafico carichi immediatamente i dati dal file di dati all'apertura del file della cartella di lavoro. Per fare ciò, vai nell'editor del codice facendo clic su "Visualizza codice" nel menu Sviluppatore e fai doppio clic sulla cartella di lavoro per vedere il codice della cartella di lavoro. Cambia il menu a discesa a destra in "Apri". Questo è lo script che verrà eseguito alla prima apertura del file della cartella di lavoro.
Per caricare il grafico con i dati del codice, il grafico stesso ha bisogno di un nome. Torna al foglio di calcolo, fai clic con il pulsante destro del mouse sul grafico e scegli Proprietà. Vedrai il campo "Nome" con qualcosa come "ChartSpace1". Puoi cambiarlo in qualsiasi cosa. Ho chiamato il mio "MyChart".
Inoltre, solo per sapere com'è il file di dati, il mio è un file di testo pieno di valori di dati in formato delimitato da virgole. Questo file potrebbe essere qualsiasi cosa: dati di laboratorio esportati da sensori, informazioni finanziarie digitate manualmente nel file dagli stagisti o qualsiasi altra cosa. Leggerai il file con il tuo codice, quindi non importa come appariranno i dati, a patto che tu sappia come apparirà ogni riga quando il tuo programma lo legge.
Quindi, ora per la parte divertente. Ti mostrerò il codice in piccole sezioni in modo che non sia travolgente, e spiegherò cosa fa il codice. La parte superiore del codice legge innanzitutto tutti i valori dal file di testo e li memorizza in due arrayx, uno per le variabili x (xVar) e uno per le variabili y (yVar).
Dim fso come nuovo FileSystemObject. Dim fnum. Dim MyFile As String. Dim strDataLine As String. Dim xVar () Come variante. Dim yVar () Come variante. Dim intNumOfLines As Integer MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () Apri MyFile per l'input come n. 1. intNumOfLines = 0. Do While Not EOF (1) intNumOfLines = intNumOfLines + 1 Input # 1, strDataLine Input # 1, strDataLine. Ciclo continuo. Chiudi # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) Apri MyFile per input come n. 1. intNumOfLines = 0. Do While Not EOF (1) Input # 1, xVar (intNumOfLines) Input # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1. Ciclo continuo. Chiudi # 1
Questo codice fondamentalmente attraversa il file di dati due volte, la prima volta che dimensiona le matrici in modo tale sono la lunghezza esatta necessaria per archiviare i dati, quindi una seconda volta per leggerli in quelli array. Se non sai cos'è un array, è una variabile o un'area di archiviazione che conterrà un lungo elenco di valori a cui puoi accedere utilizzando l'ordine in cui il valore è stato archiviato nell'array. Il terzo caricato sarebbe (3), per esempio.
Ora che hai caricato due di questi array con tutti i valori del tuo file di dati, sei pronto per caricare quei valori nel grafico che hai già incorporato. Ecco il codice che lo fa.
Con Sheet1.MyChart .Clear .Refresh Set oChart = .Charts. Aggiungi oChart. HasTitle = True oChart. Titolo. Caption = "Valori dei miei dati" 'oChart. Interni. Color = "blue" oChart. Area del grafico. Interni. Color = "white" Set oSeries = oChart. SeriesCollection. Aggiungi con oSeries .Caption = "I miei valori dei dati" .SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Colore = "blu" .Linea. DashStyle = chLineDash .Line. Peso = 2 .Type = chChartTypeLine Termina con oChart. HasLegend = True. oChart. Leggenda. Posizione = chLegendPositionBottom. Termina con
È il "Foglio1.MyChart" che collega il codice al grafico reale che hai incorporato. Si basa su come lo hai chiamato. Questo avverrà quando lo incorporerai in Word, Powerpoint o qualsiasi altro prodotto Office. Non ti riferirai usando "Foglio1", ma qualunque elemento contenga il Grafico in quel caso, come ad esempio "documento1" in Word.
Il codice sopra impostato quindi imposta l'etichettatura e la colorazione del grafico, quindi carica i valori utilizzando il metodo ".setdata" per entrambi i valori xey del set di dati bidimensionale. Una volta eseguito il codice sopra, verrà visualizzato il seguente grafico.
Questi dati provengono direttamente dal file di testo. L'unico inconveniente qui è che i file di dati dovrebbero essere bidimensionali solo se si desidera utilizzare il codice sopra. È possibile aggiungere più valori al set di dati, ma è necessario modificare il codice sopra per leggere il terzo valore ogni volta attraverso il ciclo, quindi duplicare "SeriesCollection". Aggiungi "per creare un'altra serie e quindi aggiungerla al grafico nello stesso modo.
Può sembrare complesso solo leggendo il codice sopra, ma una volta che hai fatto uno di questi, è un gioco da ragazzi modificarlo per qualsiasi tua necessità. È possibile utilizzare lo stesso grafico e un codice simile per creare un grafico a barre, un grafico a dispersione o qualsiasi altro tipo di grafico desiderato utilizzando questo stesso oggetto. È versatile e flessibile ed è un potente strumento nel tuo arsenale se hai un compagno fan dell'automazione per una maggiore produttività.
Gioca con il codice sopra e vedi se riesci a caricare automaticamente i dati nelle tue applicazioni. A quali usi creativi puoi pensare per questo tipo di automazione? Condividi i tuoi pensieri e feedback nella sezione commenti qui sotto!
Ryan ha una laurea in ingegneria elettrica. Ha lavorato 13 anni in ingegneria dell'automazione, 5 anni in IT e ora è un ingegnere di app. Ex amministratore delegato di MakeUseOf, ha parlato a conferenze nazionali sulla visualizzazione dei dati ed è stato presentato su TV e radio nazionali.