Tidak bisa dihindari bahwa suatu ketika Anda sudah memiliki data yang tersimpan di sebuah file Excel lalu Anda ingin membaca dan bahkan mengambil data dari dalam file Excel tadi, untuk selanjutnya diproses dengan program yang Anda buat. Melalui artikel ini, saya akan menunjukkan kepada Anda bagaimana cara untuk mengakses data tersebut, mulai dari membuat atau mendapatkan object Excel, membuka file Excel, membaca worksheet pertama, mengambil data yang terdapat di worksheet pertama pada kolom dan baris tertentu, menutup worksheet dan workbook Excel, sampai kepada membersihkan memory yang digunakan oleh object Excel dari dalam program Anda. Semuanya cukup dengan mengoptimalkan Microsoft Excel Object Library dari dalam Visual Basic 6. Object ini bisa Anda gunakan dengan syarat di komputer tersebut sudah terinstall Microsoft Excel atau Microsoft Office.
Code::
'Deskripsi: Membaca data dari worksheet pertama dalam sebuah file
' Excel lalu menampilkan data mulai dari baris pertama
' sampai kelima di layar dengan menggunakan MsgBox.
' Dilengkapi dengan proses pengaksesan file Excel secara
' bertahap sampai kepada proses penyelesaian dengan cara
' membersihkan memory yang sudah digunakan object Excel.
'Pembuat : Masino Sinaga (admin@masinosinaga.com)
'Tanggal : Minggu, 2 Agustus 2009
'Persiapan: 1. Buat satu project standard exe dengan satu form
' 2. Tambahkan 1 control CommandButton ke atas form
' 3. Tambahkan item "Microsoft Excel X.X Object Library"
' dari menu Project -> References... . X.X tergantung
' versi Excel atau Microsoft Office yang Anda gunakan.
' Saat saya mencoba code ini, di notebook saya sudah
' terinstall Microsoft Office 2000 dan Microsoft Office
' 2007, dan X.X di atas yang muncul = 12.0 di mana VB6
' hanya menampilkan object library Excel yang versi
' terakhir. MS Excel 2007 object library versi 12.0
' 4. Pastikan file Dataku.xls sudah terdapat di dalam
' direktori yang sama dengan aplikasi Anda ini dan
' di kolom B mulai dari baris pertama sampai kelima
' sudah ada nilai atau datanya.
' 5. Copy-kan code berikut ke editor form yang bertalian.
'------------------------------------------------------------------
Dim Excel As Excel.Application 'Excel Application
Dim ExcelWBk As Excel.Workbook 'Excel Workbook
Dim ExcelWS As Excel.Worksheet 'Excel Worksheet
Private Sub Command1_Click()
On Error GoTo Err
'Inisialisasi object Excel
StartExcel
'Buka file Dataku.xls yang berada di direktori yang sama
'dengan aplikasi Anda
Set ExcelWBk = Excel.Workbooks.Open(App.Path & "\Dataku.xls")
'Tampilkan status di form
Print "Berhasil membuka file ..."
'Akses Sheet pertama (1)
'Jika ingin mengakses sheet kedua, ganti
'(1) menjadi (2), dst...
Set ExcelWS = ExcelWBk.Worksheets(1)
'Tampilkan status di form
Print "Berhasil membaca Sheet1 ..."
'Lakukan proses di worksheet ExcelWS
With ExcelWS
Dim i As Integer
Dim strData As String
'Baca mulai dari baris pertama sampai kelima
For i = 1 To 5
'Tampung ke sebuah variabel
strData = strData & .Cells(i, 2) & vbCrLf
Next i
End With
'Tampilkan ke layar
MsgBox strData
'Setelah selesai, jangan lupa tutup worksheet
CloseWorkSheet
'Tampilkan status di form
Print "Berhasil menutup worksheet dan file Excel ..."
'Jangan lupa pula, selalu bersihkan memory yang
'digunakan oleh object Excel
ClearExcelMemory
'Tampilkan status di form
Print "Berhasil membersihkan memory Excel ..."
'Tampilkan pesan
MsgBox "Selesai, coy...!", vbInformation, "Mantap"
Exit Sub
Err:
'CloseWorkSheet
ClearExcelMemory
MsgBox Err.Description, vbCritical, "Error euy"
End Sub
Private Sub StartExcel()
On Error GoTo Err:
'Pertama, ambil object Excel, dan jika error
'lompat ke label Err di paling bawah Sub ini,
'dan buat object Excel. Error terjadi jika
'object Excel belum dibuat
Set Excel = GetObject(, "Excel.Application")
Exit Sub
Err:
'Buat object Excel jika belum ada.
Set Excel = CreateObject("Excel.Application")
End Sub
Private Sub CloseWorkSheet()
On Error Resume Next
'Tutup Excel workbook
ExcelWBk.Close
'Keluar dari aplikasi Excel
Excel.Quit
End Sub
Private Sub ClearExcelMemory()
'Sebelum membersihkan memory, periksa terlebih dulu
'object yang akan dibersihkan...
If Not ExcelWS Is Nothing Then Set ExcelWS = Nothing
If Not ExcelWBk Is Nothing Then Set ExcelWBk = Nothing
If Not Excel Is Nothing Then Set Excel = Nothing
End Sub
Tidak ada komentar:
Posting Komentar