Herhangi bir Office Ürününde Ham Veri Dosyalarından Grafik Oluşturma

  • Harry James
  • 0
  • 4596
  • 1141
reklâm

Bir Excel elektronik tablosunu veya bir Word belgesini yalnızca açabilme yeteneğine sahip olmak güzel olmaz mıydı ve hiçbir şey yapmak zorunda kalmadan, veriler doğrudan bir metin veya CSV veri dosyasından okunur ve doğrudan gömülü bir grafiğe yüklenir elektronik tablonuza veya Word belgenize mi? Bu, Office ürünlerini kullanan bir otomasyon türüdür, çünkü Office'teki verilerin grafiğini otomatikleştirmek mümkünse, olasılıkları düşünün. Patronunuz için bir araya getirdiğiniz bir rapor için verileri otomatik olarak bir grafiğe yükleyebilirsiniz - veri girişi gerekmez. Veya Outlook'ta bir grafiğe doğrudan bir e-postaya veri yükleyebilirsiniz.

Bunu başarmanın tekniği, Office Web Components eklentisini yüklemeyi içerir. Ayrıca, verileri almak için kullanmak istediğiniz Office uygulamasının içinde birkaç şey yapılandırmanız yeterlidir ve raporlama çalışmalarınızı otomatikleştirmeye hazırsınız. Önceki VBA makalelerinde bu makalede kullanacağımız bazı öğeleri ele aldım. VBA ile Kendi Basit Uygulamanızı Nasıl Yapabilirsiniz VBA ile Kendi Basit Uygulamanızı Nasıl Gerçekleştirebilirsiniz Gerçekten sevenler için Kendi başvurunuzu yazabilmeniz için, ancak daha önce tek bir kod satırı yazmamışsanız, MakeUseOf'ta… Panodaki uygulamalar arasında veri aktarımı yapanlardan birkaçı Panodaki VBA Uygulamaları Arasında Herhangi Bir Bilgiyi İletin Panodaki VBA Uygulamaları Arasında Herhangi Bir Bilgi Geçin Panoyu Kullanarak VBA ile çalışmanın en sinir bozucu parçalarından biri, belirli uygulamaların içinde her zaman kolay olmamasıdır. iki başvuru almak “konuşma” birbirlerine. Çok hızlı işlemler yapmayı deneyebilirsiniz…, Outlook görevlerini Excel'e dışa aktarma Outlook Görevlerinizi Excel'e VBA ile Verme Nasıl Outlook Görevlerini Excel'e Verme VBA ile Verme Microsoft'un hayranı olsanız da olmasanız da iyi bir şey En azından MS Office ürünleri hakkında, her birinin birbirleriyle entegrasyonunun ne kadar kolay olduğu söyleniyor ... ve bir Excel'den E-posta Gönderme VBA Komutlarını Kullanarak Bir Excel E-Sayfasından E-posta Gönderme VBA Komut Dosyaları Kod şablonumuz, Collaboration Data Objects (CDO) ve VBA komut dosyalarını kullanarak Excel içinden otomatik e-postalar oluşturmanıza yardımcı olur. senaryo.

Size göstereceğim, bilgisayarınızda düz bir metin dosyasından Office ürününüze (bizim durumumuzda Excel) kesintisiz, otomatik bir veri akışı oluşturmak için Office Web Bileşenlerini metin dosyası komut dosyasıyla nasıl birleştireceğinizdir. Bu aynı tekniği - birkaç küçük değişiklikle - Word, Outlook ve hatta PowerPoint'te kullanabilirsiniz. Geliştiriciler için VBA arka ucu olan herhangi bir Office ürünü (veya bu konuda başka bir ürün), bu tekniği kullanmanıza izin verir.

Veri Dosyalarından Bir Grafik Alma ve Oluşturma

Veri dosyalarından bir grafik oluşturabilmeniz için önce birkaç şeyi etkinleştirmeniz gerekir. Bu örnekte, size bu özellikleri Excel'de nasıl etkinleştireceğinizi göstereceğim, ancak işlem diğer tüm Office ürünlerinde neredeyse aynı.

Öncelikle, herhangi bir VBA geliştirmesi yapabilmek için önce araç çubuğundaki geliştirici sekmesini etkinleştirmeniz gerekir (henüz yapmadıysanız). Bunu yapmak için, sadece Seçenekler menüsüne girip, tıklayın “Şeridi Özelleştir” ve etkinleştirin “Geliştirici” çıkıntı.

Excle'a döndüğünüzde şimdi göreceksiniz “Geliştirici” Menülerde görünür. Tıklayın ve tıklayın “Tasarım modu”. Sonra tıklayın “Kod Görüntüle” VBA editörünü görmek için.

Editörün içinde size çalışacağım kod için ihtiyaç duyduğunuz referansları etkinleştirmeniz gereken yerdir. Bunu yapmadan önce Office Web Bileşenleri eklentisini yüklediğinizden emin olun, aksi takdirde Microsoft Chart nesnesi kullanılamaz.


Araçlar'a ve ardından Referanslar'a tıkladığınızda, sisteminizde bulunan tüm referansların bir listesini göreceksiniz. Bunların ne olduğunu bilmiyorsanız - referanslar temelde kendi projenize çekebileceğiniz kod ve nesne kütüphaneleridir. Bunlar, hangi referansı etkinleştirdiğinize bağlı olarak gerçekten harika şeyler yapmanızı sağlar. Sisteminize Office Web Components'ı yeni yüklediyseniz, onu yeni bir kütüphane olarak eklemeniz gerekir, bu nedenle doğru .dll dosyasını bulmak için Gözat düğmesini tıklayın..

Office Web Components'ı yüklediyseniz, DLL dosyasına OWC11.dll adı verilir ve c: \ program files \ common files \ microsoft shared \ web components \ 11 \ dizininde saklanır.

İçin onay kutusunu tıklayın “Microsoft Office Web Bileşenleri 11.0” referans ve ayrıca seçmeyi unutmayın “Microsoft Komut Dosyası Çalıştırma Zamanı” ayrıca veri dosyalarından okuma veya yazma için size erişim sağlayacaktır..

Şimdi referansı eklediğinize göre, asıl grafiği sayfanıza ekleme zamanı geldi. Excel'de, tıklayarak kontrolleri ekleyebilirsiniz “Ekle” Geliştirici menüsünde ve altındaki köşedeki küçük araçlar simgesine tıklayarak “ActiveX Denetimleri”.

Kaydır “Microsoft Office Şeması 11.0” ve Tamam'ı tıklayın..

Sonunda işe başlıyoruz. İşte MS Web Bileşeni şeması, bir elektronik tabloya gömülü gibi görünüyor. Aynı Word belgesine veya başka bir şeye gömülü olarak görünecek.


Bu nedenle, Excel durumunda, çalışma kitabını açtıktan sonra grafiğin veri dosyasından anında veri yüklemesini istiyorum. Bunu yapmak için üzerine tıklayarak kod editörüne girersiniz. “Kod Görüntüle” Geliştirici menüsünde çalışma kitabının kodunu görmek için Çalışma Kitabına çift tıklayın. Doğru açılır menüyü “Açık”. Bu çalışma kitabı ilk açıldığında çalıştırılacak olan komut dosyasıdır.


Grafiği koddaki verilerle yüklemek için grafiğin kendisinin bir adı olması gerekir. Elektronik tabloya geri dönün, grafiğe sağ tıklayın ve Özellikler'i seçin. Göreceksin “isim” gibi bir şey ile alan “ChartSpace1”. Bunu herhangi bir şeyle değiştirebilirsiniz. Benimkini aradım “MyChart”.

Ayrıca, veri dosyasının nasıl olduğunu bildiğiniz için - benimkiler virgülle ayrılmış formatta veri değerleriyle dolu bir metin dosyasıdır. Bu dosya hiç bir şey olmayabilir - sensörler tarafından verilen laboratuar verileri, stajyerlerin manuel olarak dosyaya yazdığı finansal bilgiler veya başka herhangi bir şey olabilir. Dosyayı kodunuzla birlikte okuyorsunuz, böylece verinin nasıl göründüğü önemli değil, programınız okuduğunda her satırın nasıl görüneceğini bildiğiniz sürece.

Yani, şimdi eğlenceli kısmı için. Size kodu küçük bölümlerde göstereceğim, bu yüzden çok zor değil ve kodun ne yaptığını açıklayın. Kodun üstü ilk önce metin dosyasındaki tüm değerleri okuyacak ve bunları bir tane x değişken (xVar) ve bir de y değişken (yVar) için iki dizgide saklayacaktır..

Dim fso Yeni FileSystemObject Olarak Dim fnum Dim MyFile Dize Olarak Dim strDataLine Dize Olarak Dim xVar () Varyant Dim yVar () Varyant Dim olarak intNumOfLines Tamsayı Olarak MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () MyFile'ı açın 1 Numaralı Giriş İçin intNumOfLines = 0 EOF Olmasın (1) intNumOfLines = intNumOfLines + 1 Giriş # 1, strDataLine Giriş # 1, strDataLine Döngü Kapat # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) 1 intNumOfLines = 0 EOF Olmasa da Yap (1) Giriş # 1, xVar (intNumOfLines) Giriş # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1 Döngü Kapat # 1

Bu kod temel olarak veri dosyasında iki kez çalışır - dizileri ilk kez veri depolamak için gereken uzunluk olacak şekilde boyutlandırır ve ardından verileri bu dizilere okumak için ikinci kez kullanılır. Bir dizinin ne olduğunu bilmiyorsanız - bu değerin dizide saklanma sırasını kullanarak erişebileceğiniz, uzun bir değer listesi içeren bir değişken veya depolama alanıdır. Örneğin yüklenen üçüncü (3) olacaktır..

Artık, bu dizilerden ikisini, veri dosyanızdaki değerlerin tümü ile birlikte yüklediğiniz için, bu değerleri önceden gömdüğünüz grafiğe yüklemeye hazırsınız. İşte bunu yapan kod.

Sheet1.MyChart .Clear .Refresh Set oChart = .Charts.Add oChart.HasTitle = True oChart.Title.Caption = "Veri Değerlerim" "oChart.Interior.Color =" mavi "oChart.PlotArea.Interior.Color =" mavi "oChart.PlotArea.Interior.Color =" ile beyaz "Set oSeries = oChart.SeriesCollection.Oseries ile Ekleyin .Caption =" Veri Değerlerim ".SetData chDimCategoriler, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line.Color =" blue ". .Weight = 2 .Type = chChartTypeLine oChart ile Bitir.HasLegend = True oChart.Legend.Position = chLegendPositionBottom İle Sona Erdir

Bu “Sheet1.MyChart” Bu, kodu gömdüğünüz gerçek şemaya bağlar. Adını yazdığınıza dayanıyor. Word, Powerpoint veya başka bir Office ürününe gömdüğünüzde bu geçerli olacaktır. Kullanarak atıfta bulunmayacaksın “Sayfa1”, fakat bunun yerine, hangi durumda olan elementi Grafikte tutarsa, örneğin “document1” örneğin Word'de.

Yukarıdaki kod grafiğin etiketini ve renklendirmesini ayarlar ve ardından değerleri kullanarak değerleri yükler. “.setData” 2 boyutlu veri setinin hem x hem de y değerleri için yöntem. Yukarıdaki kod çalıştırıldığında, aşağıdaki grafik görünecektir.

Bu veriler doğrudan metin dosyasının dışında. Buradaki tek dezavantajı, yukarıdaki dosyaları kullanmak istiyorsanız veri dosyalarının iki boyutlu olması gerekmesidir. Veri kümesine daha fazla değer ekleyebilirsiniz, ancak döngüde her seferinde üçüncü değeri okumak için yukarıdaki kodu değiştirmeniz ve ardından kopyaları çoğaltmanız gerekir. “SeriesCollection.Add” Başka bir seri oluşturmak için bölümü tıklayın ve sonra aynı şekilde grafiğe ekleyin.

Sadece yukarıdaki kodu okumak karmaşık görünebilir, ancak bunlardan birini yaptıktan sonra, ihtiyaçlarınız ne olursa olsun değiştirmek için bir parça kek. Çubuk grafik, dağılım grafiği veya bu aynı nesneyi kullanmak istediğiniz diğer grafik türlerini oluşturmak için aynı grafiği ve benzer kodu kullanabilirsiniz. Çok yönlü ve esnek - ve daha fazla üretkenlik için otomasyon hayranıysanız cephaneliğinizde güçlü bir araç.

!




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.