Sabtu, 07 Juni 2014

Menampilkan Gambar Photo Dalam Database Excel

Pernah suatu hari saya diberi sebuah masukan oleh beberapa rekan kerja mengenai sebuah database siswa yang saya buat dengan excel tidak lengkap lantaran tanpa disertai photo dari siswa itu sendiri. Awalnya saya berpikir hal itu tidak mungkin dilakukan, terlebih jika memakai Aplikasi Excel – karena aplikasi ini hanya dibuat untuk mengentry database saja.

Pertanyaan sekaligus permintaan tersebut membuat saya tertantang untuk mencoba serta mencari tahu tentang apakah Excel bisa melakukan ini…. Dari yang saya dapat dari googling, akhirnya saya mendapat beberapa module dan kode VBA untuk menginsert gambar dengan menggunakan bantuan macro. Kemudian, saya menemui kendala lagi – bagaimana jika ini digunakan dalam database yang memiliki banyak data.

Setelah beberapa hari berikutnya saya mencoba untuk bereksperimen dan memodifikasi serta menambahkan beberapa Kode serta module yang saya dapatkan dari internet tersebut agar bisa digunakan dalam database yang saya miliki.

Dan, sekarang saya share kepada anda yang barangkali sedang mencari cara bagaimana menampilkan gambar foto ke dalam database excel, dari hasil tutorial ini akan menghasilkan sebuah database yang terlihat seperti gambar berikut :

Menampilkan photo dalam database excel
Memulai Mengetry Database
Sebagai latihan dalam tutorial ini, masukkan database seperti berikut dan letakkan di Sheet1 :
database untuk menampilkan gambar dalam excel
Menggunakan Fungsi VLOOKUP
Fungsi ini dibutuhkan untuk memanggil data dalam database Masukkan formula VLOOKUP berikut di sel F2
=VLOOKUP(E2;A2:B8;2;0)
Untuk sementara hasil yang didapatkan dari formula ini adalah #N/A hal ini disebabkan tidak adanya sebuah nilai yang dijadikan pedoman, jika anda ingin menghilangkan pesan error bisa anda tambahkan fungsi IFERROR dalam serangkaian kode diatas.
Design Bingkai Photo
Bukan hanya aplikasi sekelas Corel atau Adobe saja yang bisa digunakan untuk design, excel-pun juga bisa…
Berikut langkah membuat desain sederhana :
  1. Aktifkan dan pilih Menu Tab Developer jika belum klik disini untuk melihat cara menampilkannya
  2. Buat 2 buah Image dengan cara klik Insert > Image (ActiveX Control)
  3. membuat desain aplikasi sederhana di excel
  4. Untuk Image1 (biarkan (name)nya asli seperti itu saja)
  5. Kemudian klik kanan dan pilih properties
    properties image1
    pada bagian PictureSizeMode pilih 3 - fmPictureSizeModeZoom
    Artinya, gambar yang akan kita insert nanti akan dimaksimalkan ukurannya sesuai dengan ukuran frame dari Image1.
  6. Untuk Image2 (biarkan juga (name) seperti aslinya)
  7. Klik klik kanan Image2 dan pilih properties
    properties image2
    pada bagian Picture (None) anda klik tanda (…) untuk mencari gambar yang akan ditempelkan di Image2.
    Kemudian pada bagian Visible rubah menjadi False Gambar ini nantinya akan digunakan jika data belum atau tidak memiliki Photo, dan Image2 ini kita sembunyikan (Visible=False) karena hanya sebagai acuan saja dan bukan sebagai gambar utama.

Saya harap sampai dengan langkah ini, anda bisa mengikutinya..
Menambahkan Tombol Untuk Mencari dan Mengambil Gambar
Masih dalam menu Tab Developer, Tambahkan 2 buah tombol di lembar kerja anda antara lain :
  • Command Button (ActiveX Control)
  1. klik menu Insert > Command Button (ActiveX Control)
  2. letakkan di lembar kerja
  3. jika anda ingin me-rename tombol ini klik kanan > properties Pada bagian Caption ubah nama sesuai dengan yang anda inginkan
  4. Membuat tmobol command button di lembar kerja
  • Spin Button (ActiveX Control)
  1. klik menu Insert > Spin Button (ActiveX Control)
  2. letakkan di lembar kerja
  3. Membuat spin button di lembar kerja

Desain sudah selesai, sekarang tinggal memasukkan kode untuk beberapa tombol yang sudah kita buat
Memasang Kode untuk Mengambil Gambar
Sebelum anda memasukkan kode-kode untuk masing-masing tombol, pastikan icon DESIGN MODE yang terdapat pada Tab Developer dalam keadaan aktif (menyala) sehingga ketika klik ganda objek control – maka akan langsung menuju jendela Microsoft Visual Basic
Berikut kode yang harus anda pasang:
  • Klik ganda CommandButton1 (atau sesuai dengan nama yang anda ketikkan pada langkah sebelumnya)
  • On Error Resume Next
    Dim Filter As String, Title As String, FileX As String
    Dim SourceFile, DestinationFile

    X.SetFocus
    Filter = "JPG Image Files Only(*.jpg),*.jpg,"
    Title = "Silahkan Pilih Logo" FileX = Application.GetOpenFilename(Filter, , Title)
    NamaFile = Range("F2")

    Sheets("sheets1").Image1.Picture = LoadPicture(FileX)
    Image1.Picture = LoadPicture(FileX)

    DestinationFile = ActiveWorkbook.Path & "\Photo\" & NamaFile & ".jpg"
    FileCopy FileX, DestinationFile

    Keterangan:
    Filter = "JPG Image Files … : adalah gambar yang diperbolehkan untuk di masukkan ke dalam database
    NamaFile = Range(“F2") : adalah nama dari file gambar yang nantinya akan tersimpan dalam komputer anda, nama file ini berdasarkan dari data yang tertulis di sel F2
    \Photo\ : adalah nama folder tempat menyimpan file gambar, dengan kata lain anda WAJIB membuat sebuah folder dengan nama Photo ditempat anda menyimpan hasil kerjaan excel ini.

    Tutup atau minimize jendela Microsoft Visual Basic untuk kembali ke jendela Microsoft Excel
  • klik ganda SpinButton1
  • On Error GoTo GbKosong
    SpinButton1.Min = 1
    SpinButton1.Max = 7
    Range("E2") = SpinButton1

    Application.ScreenUpdating = False
    NamaData = Range("F2")
    Files = ActiveWorkbook.Path & "\Photo\" & NamaData & ".jpg" '
    Image1.Picture = LoadPicture(Files)
    Application.ScreenUpdating = True

    Exit Sub
    GbKosong:
    Image1.Picture = Image2.Picture

    Keterangan :
    SpinButton1.Min = Data minimal dari database yang di baca
    SpinButton1.Max = Data tertinggi dari sebuah database, dalam contoh di atas nilai tertinggi adalah 7
Finishing
Langkah akhir dari semua pekerjaan adalah dengan melakukan proses menyimpan. Untuk penyimpanan file ini gunakan excel dengan type Macro enabled.

Tidak ada komentar:

Posting Komentar