VISUAL BASIC EĞİTİMİ
Visual Basic eğitimi, klasik VB ve VBA'yı bakım ve otomasyon senaryolarında etkin biçimde kullanmak isteyen ekipler için tasarlandı. Klasik Visual Basic IDE ve Form Designer; Variant ve runtime tipler; early ve late binding ayrımı somut örnekler üzerinden işlenir.
Eğitim sonunda katılımcı, COM ve ActiveX ile bileşen kullanır; ADO ve DAO ile veri erişimi yapar; Office VBA ile Excel ve Access otomasyonu yazar. Class module ile temel OOP ve VB6 modernizasyonu için VB.NET veya .NET 8'e geçiş planlama eğitimin pratik kapanışıdır.
Katılımcı Profili
Bu eğitim, klasik Visual Basic ile VBA'yı bakım ve otomasyon senaryolarında etkin biçimde kullanmak isteyen rollere yöneliktir:
- VB6 Bakım Ekipleri: Legacy VB6 uygulamalarını bakımda tutan roller
- VBA Geliştiricileri: Excel ve Access otomasyonu yazan ekipler
- Office Otomasyon Ekipleri: VBA ile iş otomasyonu yapan profesyoneller
- Legacy Migration Ekipleri: VB6'dan VB.NET veya C#'a geçiş planlayan roller
- KOBİ Yazılımcıları: Hızlı masaüstü çözüm ihtiyacı olan ekipler
Ön Gereklilikler
Bu eğitime katılım için aşağıdaki ön bilgiler önerilir:
- Microsoft Excel veya Access ile temel kullanım deneyimi
- Bilgisayar ve dosya yönetimi konusunda rahatlık
- Temel programlama mantığına (if/else, loop) aşinalık (tercihen)
- Office uygulamalarında otomasyon ihtiyacı veya VBA merakı
- Visual Basic IDE (Office VBA Editor veya VB6 IDE) erişimi
Süresi ve Tarihi
Süre: 2 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.
Kazanımlar
Programın sonunda katılımcı, klasik Visual Basic ile VBA'yı bakım ve otomasyon senaryolarında etkin biçimde kullanır:
- Klasik Visual Basic IDE ve Form Designer'ı verimli kullanır
- Variant, runtime tipler ve early/late binding'i ayırt eder
- COM ve ActiveX ile bileşen kullanır ve register eder
- ADO ve DAO ile veri erişimi yapar; connection string'leri yönetir
- Office VBA ile Excel ve Access otomasyonu yazar
- Class module ile temel OOP yapısı kurar
- VB6 modernizasyonu için VB.NET veya .NET 8'e geçiş planlar
Eğitim materyalleri Visual Basic 6.0 belgeleri referans alınarak hazırlanır.
Visual Basic Eğitimi Konuları
1. Visual Basic Tarihi ve Bugünkü Yeri
- VB1'den VB6'ya gelişim
- VB.NET ile geçiş
- VBA (Office) ve VBScript
- Legacy proje bakım senaryoları
2. Visual Basic IDE (VBE)
- Form Designer ve Code Window
- Project Explorer ve Properties
- Immediate ve Locals window
- Toolbox ve ActiveX control
3. Variable, Data Type, Variant
- Dim, Public, Private
- Integer, Long, Double, String, Boolean
- Variant: dinamik tip
- Option Explicit kullanımı
- Type ile user-defined struct
4. Operator ve Expression
- Aritmetik ve karşılaştırma
- And, Or, Not, Xor, Eqv, Imp
- String concatenation (&)
- Like operator ve pattern matching
5. Karar Yapısı - If, Select Case
- If...Then...ElseIf...End If
- Select Case ile çoklu dal
- Case Is, Case To, Case Else
- IIf() inline conditional
6. Döngü - For, While, Do
- For...Next ve Step
- For Each (collection)
- Do While, Do Until
- While...Wend
- Exit For/Do
7. Sub ve Function
- Sub vs Function farkı
- ByVal ve ByRef
- Optional parameter
- ParamArray ile variadic
- Return value (function name = value)
8. Array ve ReDim
- Static ve dynamic array
- ReDim ve ReDim Preserve
- LBound, UBound
- Çok boyutlu dizi
- Array() ve Erase
9. String, Date, Format Function
- Left, Right, Mid, Len
- InStr, Replace, Split, Join
- DateAdd, DateDiff, DatePart
- Format$() ile sayı/tarih biçimleme
- Asc, Chr, UCase, LCase
10. Class Module ve Property
- Class Module ekleme
- Property Get, Let, Set
- Initialize ve Terminate event
- Instancing (Private, PublicNotCreatable)
11. Form ve Control - UI Programlama
- Form ve Form_Load event
- TextBox, Label, Button, ListBox, ComboBox
- Frame ve container kontroller
- MDI form (Multi Document Interface)
- Common Dialog control
12. Event-Driven Programlama
- Event handler isimlendirme
- Click, Change, KeyPress, MouseMove
- Custom event tanımı
- WithEvents ile object event
13. Error Handling - On Error
- On Error GoTo Label
- On Error Resume Next
- Err object (Number, Description)
- Centralized error handler
- Err.Raise ile manuel hata
14. File I/O - Open, Print, Get/Put
- Open ... For Input/Output/Append
- Print # ve Input #
- Get # ve Put # (random access)
- FileSystemObject (Scripting)
- Dir, Kill, MkDir, ChDir
15. ADO ile Veritabanı
- ADODB.Connection ve ADODB.Recordset
- Connection string
- SQL sorgu ve parametre
- Cursor type (Forward-only, Dynamic)
- DAO ve RDO alternatifleri
16. Reporting - Crystal Reports, DataReport
- Crystal Reports tasarımı
- DataReport (VB built-in)
- Print ve PrintForm
- PDF export
17. ActiveX, COM, OLE Automation
- ActiveX DLL ve ActiveX EXE
- COM component üretme
- Late binding vs early binding
- Office automation (Excel, Word)
- Registration: regsvr32
18. Modern Yaklaşım - Migration ve VBA
- VB6 → VB.NET / C# migration
- VBA ile Office otomasyon
- Power Automate alternatif
- VBA → Python (xlwings, openpyxl)
VISUAL BASIC EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları
Visual Basic ile VBA arasında fark nedir?
Visual Basic (VB6 ve önceki) standalone uygulama geliştirme dili — kendi IDE, EXE üretir. VBA (Visual Basic for Applications) Office uygulamaları içinde gömülü; Excel, Access, Word otomasyonu için. Söz dizimi neredeyse aynı ama VBA host uygulamaya bağımlı çalışır.
Excel VBA ile Power Query / Power Automate arasında karar?
VBA mevcut Office kurulumunda çalışır, eski Office sürümleriyle uyumlu, kompleks ETL ve UI otomasyonu için güçlü. Power Query/Automate modern Microsoft 365 ortamı, cloud-based, daha az kod ile pipeline kurma. Yeni otomasyon Power Platform; mevcut VBA kalır veya kademeli geçer.
Variant tipi ne zaman kullanılır, ne zaman tehlikeli?
Variant herhangi bir veri tipini tutabilir — esneklik avantajı ama performans cezası ve runtime hata riski. Option Explicit ve typed declaration (Dim x As Integer) tercih edilir. Variant sadece gerçekten tip bilinmiyorsa kullanılır (Excel'den geri dönen value gibi).
Class module ile standard module arasında karar?
Standard module global function/sub'lar için — yardımcı kütüphane fonksiyonları. Class module OOP — instance, property, encapsulation. Class new ile yaratılır, multiple instance olabilir; standard module tek-instance behavior. Modern VBA kodu class module ile organize edilir.
ADO ile DAO arasında veri erişim için karar?
DAO Access JET database için optimize, eski. ADO daha modern, çoklu DB destekli (SQL Server, ODBC, OLE DB). Yeni Access projeleri DAO kullanır, dış DB (SQL Server) için ADO standart. Performance Access içi DAO biraz hızlı; ADO esnek ve cross-DB.
VB6'dan modern .NET'e geçiş ne kadar pratik?
Otomatik conversion tool kısmen çalışır ama %30-70 manuel kod düzeltme gerekir. Form'lar UI library değişiminden etkilenir, COM bileşenleri interop ile köprülenir. Büyük projelerde rewrite genelde daha hızlı. Strangler pattern ile aşamalı geçiş risk azaltır.



