Bu kısımda Vba örnek ifadeleri yayınlıyorum.Logo xml oluşturuken aşağıdaki işlemleri yapmam gerekti bende size madde madde açıklamaya çalıştm.
1.Bir hücre ( cell ) değerini değişkene atama:
Aşağıdaki kod sheet 1 sayfasındaki 6.satır ve 2 sütunun kesişimindeki hücrenin değerini verir.
Worksheets("Sheet1").Cells(6, 2).Value
2. Excelde Son satırın numarasını bulmak :
Bunu transaction satırlarında kaç kere döngüye girmem gerektiğini bulmam için kullanmıştım.İfadede bulduğum son satır değerini int tipinde bir değişkene atıyorum.
lastRow = ActiveSheet.Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
3.Excelde kolonları toplama
Bana toplam borç ve alacak rakamları xml oluştururken lazım olacak.Dolayısı ile ilgili kolonları toplamam gerekiyor.Döngü (loop)yapmak VBA de çok basit öyleki döngü indisi için değişken tanımlamanıza bile gerek yok.Şöyleki , i döngü indisini ifade ediyor.Ayrıca i diye bir değişken declare etmem gerekli değil.
14.satırdan başlayıp son satır değerine kadar 7 kolondaki değerleri topluyorum.
For i = 14 To lastRow
borc= borc+ Worksheets("Sheet1").Cells(i, 7).Value
Next
4. Date ve Time Nesneleri
Oluşturduğum xml için zaman ve tarih bilgisine ihtiyacım vardı.Tarihi direk Date yazarak çağırabiliyorsunuz.Time' yazarak o anki saat,dakika ve saniye bilgileri geliyor.
Dim tarih as string
tarih = Date
msgbox ("Tarih:" & tarih )
Bize "Tarih :09.08.2011" çıktısını verecek.
msgbox ("Tarih:" & Time)
Zaman ise 21:58:02 şekline çıktı verecek.Fakat ben saat,dakika ve saniyeyi ayrı ayrı olarak xmle eklemeliyim.Bu yüzden SQL deki datepart() ile aynı özelliklere ve ada sahip fonksiyon işime yarayacak.
MsgBox ("Saat:" & DatePart("h", Time) & " Dakika:" & DatePart("n", Time) & " Saniye:" & DatePart("m", Time))
5. If Else Örneği
Ben yaşadım siz yaşamayın :) if else yazaren katil oluyordum.En basit yazılım ifadelerinden if else yazarken then'den sonra enter'a basmayı unutmayın çünkü yanyana yazında hata ile karşılaşıyorsunuz.Sql ile sürekli uğraşan biri olarak bu hataya anlam veremedim.
If CLng(Borc) > 0 And CLng(Alacak) = 0 Then
tmpTutar = Borc
trType = 1
ElseIf CLng(Alacak) > 0 And CLng(Borc) = 0 Then
tmpTutar = Alacak
trType = 2
Else
MsgBox ("Dikkat " & i - 14 & ". satır borc ve alacak alanları boş.")
End If
Veri ambarı,etl,veri madenciliği,yazılım ve veri tabanı ile ilgili kişisel deneyimlerimi bu platformda bulabilirsiniz.Şimdiye kadar microsoft teknolojilerini kullandım.Bu blog da Reporting ,Analysis,Integration Services,vb.net,c# ,Dynamics Ax,X++,vba gibi konulara ağırlık verilecektir. Devamlılığı sağlamayı umuyorum.
vba etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
vba etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
9 Ağustos 2011 Salı
8 Ağustos 2011 Pazartesi
LOGO Aktarım -1
Bu sıralar Logoya excelden veri atmaya çalışıyorum.Bilirsiniz Logo xml standardını oluşturmuş ve buda veri import etmeyi oldukça kolay hale getiriyor.Tek yapmanız gereken aşağıdaki gibi Excelden veriyi okuyup kayıt oluşturmaya yarayan xml.Burada adım adım detayları yazmam mümkün değil ama biri sizden "Logo ya excelden birşeyler girelim sonrada bir butona basalım ve buton bir xml oluştursun sonrada bir onu Logo ya import edelim" derse ki derler :) aşağıdaki adımlar işinize yarayacaktır.
1.Öncelikle ilgili kişi ile konunun detaylarını konuşun :) şaka yaptığımı anlamışsınızdır.Konuşmaya çalıştığınız kişi bir muhasebe yada finans çalışanı olduğundan iletişim kurmakta zorlanabilirsiniz.Haliyle öncelikle verileri toplamaya ve bol bol soru sormaya başlayın.
2.Kullanıcı hangi hareket türlerini import etmek istiyor belirleyin.(Benim işim banka virman ve gönderen havale fişlerini içeri atmaktı)
3.Kullanıcıdan örnek xml verileri isteyin.
4.Eğer kullanıcı konu hakkında bilgi sahibi değilse xml export etmesini gösterin :) Logoda araçlar kısmında Veri aktarımı dışarı şeçeneği ile aktarım yapılabilir.

5.XMLi oluşturulan kayıdı hareket türlerinden (mesela Finans ->Banka Fişi menüsünden fiş numarası ile aratarak veritabanı alanlarının yani xmldeki node isimlerinin ne anlama geldiğine bakarak hangi verilerin parametrik hangi verilerin sabit olarak geleceğine karar verin) örnek kayıtı inceleyin.
6.Oluşturduğumuz xml kodlama yaparken referans olacaktır.Burdan sonrası exceldeki sablonu oluşturmak ve xml stringini manipule eden kodu oluşturup dosyayı oluşturmaktır.
Bugün geç oldu örnek excel,xml ve vba koduda yarın ekleyelim.
1.Öncelikle ilgili kişi ile konunun detaylarını konuşun :) şaka yaptığımı anlamışsınızdır.Konuşmaya çalıştığınız kişi bir muhasebe yada finans çalışanı olduğundan iletişim kurmakta zorlanabilirsiniz.Haliyle öncelikle verileri toplamaya ve bol bol soru sormaya başlayın.
2.Kullanıcı hangi hareket türlerini import etmek istiyor belirleyin.(Benim işim banka virman ve gönderen havale fişlerini içeri atmaktı)
3.Kullanıcıdan örnek xml verileri isteyin.
4.Eğer kullanıcı konu hakkında bilgi sahibi değilse xml export etmesini gösterin :) Logoda araçlar kısmında Veri aktarımı dışarı şeçeneği ile aktarım yapılabilir.

5.XMLi oluşturulan kayıdı hareket türlerinden (mesela Finans ->Banka Fişi menüsünden fiş numarası ile aratarak veritabanı alanlarının yani xmldeki node isimlerinin ne anlama geldiğine bakarak hangi verilerin parametrik hangi verilerin sabit olarak geleceğine karar verin) örnek kayıtı inceleyin.
6.Oluşturduğumuz xml kodlama yaparken referans olacaktır.Burdan sonrası exceldeki sablonu oluşturmak ve xml stringini manipule eden kodu oluşturup dosyayı oluşturmaktır.
Bugün geç oldu örnek excel,xml ve vba koduda yarın ekleyelim.
Kaydol:
Kayıtlar (Atom)