Artikel kali ini saya ingin membahas hal basi tapi sulit dalam visual basic 6.0. seperti diketahui, program developer vb6 sudah begitu ketinggalan karena microsoft terus mengembangkan visualbasic.net yang berbasis framework. Namun microsoft tetap berkomitmen mensupport vb6 untuk setiap sistem operasi yang diciptakannya. Maka vb 6 tetap bisa digunakan dalam windows 8 yang baru-baru ini dirilis.
Salah satu hal sulit yang dibicarakan adalah bagaimana caranya menggunakan excel untuk vb6 ?. salah satu hal yang dibutuhkan adalah membaca data dari excel untuk bisa diolah di dalam visual basic. Bisa saja disebabkan user kita menerima data dari tim lain berupa data excel, namun kita harus mengolahnya lagi sehingga dapat digunakan ke dalam sistem kita secara terintegrasi.
Misalnya kita telah menyiapkan file excel dengan isi berikut :
Laporan Bulanan | ||
Kode | Nama | Nilai |
AB | Abepura | 89 |
KK | Kota Kote | 72 |
Kemudian kita siapkan form vb seperti berikut :
Keterangan :
Untuk mengawali pembuatan proyek ini, kita perlu menggunakan component dengan menekan CTRL+T, kemudian pilih Microsoft Common Dialog 6.0 dan Microsoft Flex Grid Control 6.0
Kemudian kita juga perlu untuk memasukkan library excel dengan klik Project > Refference
Pilih Microsoft Excel 12.0 untuk pengguna excel 2007.
Berikut atribut komponen yang digunakan.
Command Button –> Name : cmdambil Caption : Ambil File Excel
Common Dialog –> Name : C
Flexgrid Control : Name : f
Skrip :
————————————————–
General
Dim eksel As Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
————————————————–
Private Sub cmdAmbil_Click()
startexcel
‘buka common dialog open
c.DialogTitle = “Membuka File Excel”
c.ShowOpen
nama = c.FileName
Set wb = eksel.Workbooks.Open(nama)
MsgBox “Berhasil Membuka File”
Set ws = eksel.Worksheets(1)
MsgBox “Berhasil membuat worksheet”
Dim I As Integer, baris As Integer, strdata As String
f.Cols = 4
f.Rows = 3
f.TextMatrix(0, 1) = ws.Cells(2, 1)
f.TextMatrix(0, 2) = ws.Cells(2, 2)
f.TextMatrix(0, 3) = ws.Cells(2, 3)
For I = 1 To 2
For J = 1 To 3
f.TextMatrix(I, J) = ws.Cells(I + 2, J)
Next J
Next I
CloseWorksheet
ClearExcelMemory
End Sub
————————————————-
Private Sub CloseWorksheet()
On Error Resume Next
wb.Close
eksel.Quit
End Sub
————————————–
Private Sub ClearExcelMemory()
If Not ws Is Nothing Then Set ws = Nothing
If Not wb Is Nothing Then Set wb = Nothing
If Not eksel Is Nothing Then Set eksel = Nothing
End Sub
————————————————————–
Private Sub startexcel()
On Error GoTo salah
Set eksel = GetObject(, “excel.Application”)
Exit Sub
salah:
Set eksel = CreateObject(“excel.Application”)
End Sub
Silahkan mempelajari skrip ini, akan saya jelaskan lain kali jika ada yang perlu ditanyakan. Ditunggu komentarnya ya,…
Filed under: Tutorial Visual Basic 6.0 | Tagged: excel dalam vb6, mengambil data excel di vb6, tutorial vb6 dan excel, Vb6 dan Excel |
bapak…
ODBC saya kok gag bisa yaa pak..
padahal gag ada msalah kemarin2 tu pak…
udah saya coba pak… masih gag bisa pakk…
yang untuk buat data source itu pak..
yg nyambungin vb k xampp pak.. 😦
mohon bantuannya pak
odbc digunakan sebagai data source dari beberapa database. untuk mysql, bisa di download di situs mysql. pilih jenis odbc yang digunakan. jika pernah terinstal, tapi sekarang jadi hilang, bisa saja diakibatkan oleh file yang berpindah. disarankan folder mysql odbcnya disimpan di dalam harddisk, reinstall sekali lagi. pastikan user account notifynya paling rendah.
thank u bapak….
berhasillll pak…
iyaaaa…
ika lupa cara installl nya…
hehehe 🙂
bagus lah udah berhasil. semoga selanjutnya juga berhasil ya….
bapak.. apa flexgrid itu sesuai dengan jumlah cell pada tiap excel kita.?
berarti kalau mau nyimpan database nya bsa kan pak sesuai dengan format d excell pak…?
trus gmna kalau dia nyimpan k data base setelah kita import pak.???
script nya sama seperti biasa atau ada perubahan pak?
mohon bantuannya pak
kan kita transfer datanya dari excel ke vb. tujuannya biar bisa diedit kan?. setelah kita edit, kita bisa simpan ke database. maka kita simpan seperti cara menyimpan program master-transaksi aja. disimpan perbarisnya. jika tujuannya mau menyimpan datanya dari excel langsung ke db, juga bisa. ndak perlu ditampilkan di flexgrid. tinggal tujuannya aja.
banyak kolom di flexgrid bisa aja kita tambahkan otomatis sesuai dengan jumlah kolom di excel. atau jika memang kita punya indikasi pasti jumlah kolomnya tentunya juga bisa kita sesuaikan untuk flexgridnya. apalagi soal barisnya, harusnya bisa otomatis menyesuaikan barisnya kan….
hmm…
faham saya pak…
saya coba buat yaa pak…
nanti kalau kurang paham akan saya tanya kembali pak.. 🙂
makasih pak…
bapak…
kenapa
“For I = 1 To 2”
“For J = 1 To 3”
cols nya 4 dateng dari mana pak?
mohon bantuan pak..
bapak…
apa ngatur besar kecilnya suatu kolom di flexgrid sama seperti biasa pak??
mohon bantuan nya pak.. 🙂
bapak… bagaimana cara kita masukin data yang ada d flexgrid k dalam textbox, tapi masih dalam 1 form yang sama pak??
udah ika coba dngan cara form cari… tapi gag bisa pak…
terimakasih. saya coba dahulu
Saya coba pak tapi ketika karakter di dalam sheet panjang(diatas 16 karakter) malah ga bisa di import ke flexgrid(nilainya null). Itu kenapa ya pak?
pak ada pin bbm nya, saya mau tanya2, terima kasih.
email saja ya ke azmi.exceldiamond@gmail.com
wah ini bermanafaat…
apakah bisa membaca xlsx dng ukuran row yg besar?
misal 200 ribu row dan 20 column?
ini untuk xls. kalau xlsx pakai komponen lain lagi
Mantaaap berguna sekali postingan bapak, terima kasih pak
Pak, bagaimana cara klo visual basic d hubungkan dengan web?
VB 6 berbasis client, maksud saya diclient harus diinstall dulu aplikasinya. perkara database ada diserver atau diclient itu lain lagi. kalau aplikasi vb sudah diinstall diclient, tentu bisa dipanggil dengan web javascript. tapi menurut saya itu suatu kemunduran. belum pernah saya mendengar ada yang mau repot menjalankan vb di web. semisal dengan menjalankan android di web. yang ada menjalankan web di android. begitu juga dengan vb, biasanya orang malah mencari cara menjalankan web di vb.
Bisa run, tp pas d klik ambil file, ada indikasi kesalahan di private sub startexcel() jd kuning, teeima kasih
Private Sub startexcel()
On Error GoTo salah
Set eksel = GetObject(, “excel.Application”)
Exit Sub
salah:
Set eksel = CreateObject(“excel.Application”)
End Sub
yang perlu dipastikan, apakah reference nya sudah di aktifkan ?. tanpa ada reff excel itu, ya gak bisa jalan.