Adăugați o diagramă la un document Microsoft cu componente Web Office
Nu este uimitor cum ceva atât de simplu ca crearea unei diagrame se poate simți atât de complicat uneori? Indiferent dacă utilizați Excel, Word, Powerpoint sau Access - uneori ar fi frumos să inserați doar o diagramă rapidă cu o grămadă de date fără a fi nevoie să faceți o mulțime de configurări și discuții despre.
În acest articol vă voi arăta cum să utilizați un obiect foarte convenabil și simplu VBA din Microsoft Office Web Components, care vă permite să inserați o diagramă direct într-un document, prezentare sau orice altceva în care puteți crea codul VBA pentru al rula. Aceasta poate include, de asemenea, produse non-Microsoft care au un back-end VBA, ceea ce mulți fac.
În acest exemplu, vă voi arăta cum să activați modul de proiectare în programul dvs. (în acest caz, vom folosi Microsoft Word), încorporați obiectul diagramei în proiectul dvs. și apoi cum să scrieți codul care îl umple in cu date.
În unele dintre articolele anterioare despre VBA, câțiva dintre voi ați menționat că sarcina la îndemână a fost puțin prea complicată pentru oricine nu a scris niciodată codul. Sper că după ce ați citit acest articol, veți fi motivat să încercați mâna cu VBA. Codul inclus aici este foarte simplu și simplu de scris. Încorporarea acestei diagrame este o modalitate excelentă de a vă distruge mâinile cu VBA dacă nu ați încercat niciodată înainte.
Dacă știți VBA, atunci acesta este un instrument excelent pentru a începe să încorporați grafice rapide în proiectele dvs. cu mult mai puțin efort decât oricând înainte.
Activarea modului de proiectare
În acest exemplu, am vrut să pun împreună un document rapid cu o diagramă încorporată care afișează date din luna curentă a bugetului meu, precum și media lunară a anului de cheltuieli până în prezent.
În acest exemplu, voi plasa aceste valori greu codificate într-un “mulțime” chiar în interiorul codului VBA, dar în cele din urmă puteți utiliza o varietate de tehnici pentru a încărca variabilele matrice (o matrice este pur și simplu o variabilă care conține o listă de valori) din alte surse, cum ar fi o foaie de calcul externă sau chiar o formă în care introduceți valorile în manual în fiecare lună.
Pentru a afla cum să importați date în Word din Excel, consultați articolul meu Cum se integrează datele Excel într-un document Word Cum se integrează datele Excel într-un document Word În timpul săptămânii de lucru, probabil că de multe ori vă găsiți copierea și lipirea informațiilor din Excel în Word sau invers. Acesta este modul în care oamenii produc adesea rapoarte scrise ... Citiți mai multe pe această temă. În scopul acestui articol, ne vom concentra pe crearea graficului pentru afișarea datelor.
Acum, când am început documentul, vreau să intru în cod. În Word sau Excel, faceți acest lucru făcând clic pe “Fişier”, “Opțiuni” apoi faceți clic pe opțiunea de personalizare a panglicii. În partea dreaptă a opțiunilor, veți vedea “Personalizați panglica” coloana și în “Tab-uri principale” câmp ar trebui să vedeți “Dezvoltator” neverificată. Verifică căsuța.
Înapoi în documentul dvs., ar trebui să vedeți acum “Dezvoltator” elementul de meniu disponibil. În acest meniu, veți găsi “Mod de proiectare” buton.
Faceți clic pe Design Mode (Mod de proiectare), apoi faceți clic pe pictograma folder / tools pentru “Legacy Tools”, și apoi în colțul din dreapta jos al casetei pop-up, sub ActiveX Controls, faceți clic pe “Mai multe controale” buton.
Derulați în jos lista de controale disponibile până când ajungeți la “Diagrama Microsoft Office xx.x”. Dacă aveți instalat Microsoft Office pe computerul dvs., acest control va fi cel mai probabil disponibil.
După ce introduceți controlul în documentul dvs., veți vedea că acesta apare ca o cutie care spune “Componente Web Microsoft Office” interior. Aceasta este în esență graficul gol, gata să vă afișeze datele.
Următorul pas este să scrieți codul care va configura tipul de diagramă și să afișați datele. Dacă doriți ca procesul să fie manual, puteți plasa un buton pe documentul care ar încărca datele în diagramă, dar în cazul meu vroiam ca totul să fie complet automatizat. În momentul în care deschid documentul, am vrut să ruleze scriptul care încarcă graficul, astfel încât să puteți face acest lucru în cod (faceți clic pe butonul Visual Basic pentru a intra în editorul de cod) și selectând Document Object și “Deschis” eveniment.
Aceasta va plasa automat o funcție goală numită “Document_Open ()” în codul tău. În interiorul acestei funcții, doriți să inserați următorul cod.
Documentul privat Sub () Dim i ca intreg Dim oChart Dim oSeries1 Dim oSeries2 'Creați tablouri pentru valorile x și valori y Dim xValues ca varianta, yValues1 ca varianta, yValues2 ca varianta xValues = Array ("Electric Bill", "Ipoteca", "Bill Bill", _ "Bill de încălzire", "Cafenele", _ "Benzină", "Îmbrăcăminte", "Cumpărături") yValues1 = Array (124,53, 1250,24, 45,43, 253,54, 143,32, 259,85, 102,5, 569.94) yValues2 = Array (110, 1250, 50, 200, 130, 274, 95, 300)
Această secțiune de cod creează trei tablouri. Primul (xValues) este, în principiu, lista de descrieri a axelor x pentru fiecare element de date. În cazul meu, creez un graf de coloane în coloană cu yValues1, dar puteți crea și un grafic liniar. Îți arăt cum să faci asta cu yValues2. Acum lipiți și următorul segment de cod.
Cu ThisDocument.ChartSpace1 .clar .Reîmprospăta Setați oChart = .Charts.Add oChart.HasTitle = Adevărat oChart.Title.Caption = "Numerele bugetului lunar vs media"
Această secțiune a codului creează de fapt creează diagrama în sine “chartspace” container. Diagrama dvs. nu are date în acest moment, dar cu câteva comenzi puteți seta titlul graficului, precum și titlul. Acum este momentul să adăugați datele. Inserați următorul cod sub codul pe care l-ați inserat deja pentru a face acest lucru.
Setați oSeries1 = oChart.SeriesCollection.Add Cu oSeries1 .Caption = "Această lună" .SetData chDimCategories, chDataLiteral, xValues .SetData chDimValues, chDataLiteral, yValues1 .Tip = chChartTypeColumnClustered Se termina cu "Adăugați o altă serie în diagramă cu valorile x și valorile y "din matrice și setați tipul seriei la o diagramă de linie Setați oSeries = oChart.SeriesCollection.Add Cu oSeries .Caption = "Cheltuielile medii" .SetData chDimCategories, chDataLiteral, xValues .SetData chDimValues, chDataLiteral, yValues2 .Tip = chChartTypeLineMarkers Se termina cu
Codul de mai sus creează două serii pentru a fi afișate în graficul dvs. Prima serie configurează datele pentru a fi afișate în interiorul obiectului diagramă ca a “ColumnClustered” format, iar a doua serie este configurată pentru a fi afișată ca a “TypeLineMarkers” format. Acest lucru va afișa ambele seturi de valori în aceeași diagramă, dar va folosi diferite tipuri de grafice - care pot fi de fapt o modalitate foarte bună de a afișa și compara mai multe seturi de date.
Acum, când se adaugă datele, tot ce a mai rămas este de a ordona axa și de a finaliza detaliile graficului.
'Formați axele valoriceoChart.Axes (chAxisPositionLeft) .NumberFormat = "$ #, ## 0" oChart.Axes (chAxisPositionLeft) .MajorUnit = 1000 'Arată legenda din partea de jos a graficului oChart.HasLegend = Adevărat oChart.Legend.Position = chLegendPositionBottomSe termina cuEnd Sub
Codul de mai sus formatează numerele de pe axa stângă pentru afișare în format numeric în dolari. Următoarea linie configurează limita maximă a axei verticale. Din moment ce știu că articolele individuale nu vor depăși 1000 $, am setat limita maximă a axei y la.
Salvați documentul, închideți-l, re-deschideți și voila-up vine graficul dvs. încărcat automat cu datele din cele două tablouri.
Acum că știți cum să inserați graficele și să încărcați automat datele în ele, gândiți-vă doar la posibilități. Tot ce trebuie să faceți este să obțineți date externe în acele tablouri - poate o foaie de calcul Excel, poate o bază de date Access sau orice altceva - și brusc acest document devine o fereastră foarte dinamică și valoroasă în datele stocate.
Acesta este doar vârful iceburg-ului cu obiectele MS Office Web Components. Am inceput cu graficele pentru ca mi se pare ca aceasta facilitate este cea mai incitanta. Pentru a adăuga diagrame la orice aplicație VBA pe care o doriți cu un script foarte scurt este foarte util și foarte puternic.
Dacă sunteți totul despre diagrame, de ce să nu încercați acest obiect diagramă? Știți despre alte obiecte grafice utile pentru VBA? Cum încorporați datele în aplicațiile dvs.? Împărtășiți-vă gândurile și experiențele în secțiunea de comentarii de mai jos.
Credit de imagine: Tablet Finance Chart gratis prin Shutterstock
Explorați mai multe despre: Microsoft Excel, Microsoft PowerPoint, Microsoft Word, Programare Visual Basic.