Alhamdulillah bisa jadi solusi alternative, tapi teks pada shape Text Box dalam kontener kok nggak bisa wrap text ya ? Jika teks kepanjangan jadi nabrak batas
Mohon petunjukknya Wassalam Heru Safrudin From: [email protected] [mailto:[email protected]] Sent: 28 April 2017 2:59 To: BeExcel Subject: Re: [belajar-excel] Mengisi Shape dengan gambar rata kiri Hai Heru, Sayangnya, setahu saya, sampai xl2016 pun properti offset milik stretch belum dibuka oleh pembuat Office. Lagi pula, saya pikir terlalu ribet dalam menentukan persentase offsetnya. Kasus seperti ini umumnya digunakan untuk image yang berukuran sama. Misalnya, untuk membuat label beserta image QR Code. Image QR Code yang digunakan untuk suatu produk di sebuah perusahaan akan memiliki dimensi yang sama. Bisa jadi, antar perusahaan dimensi QR Code nya berbeda. Pada kasus ini, misalkan image QR Code akan diletakkan di sisi kiri, dan keterangan diletakkan di sisi kanan. Kalau dulu, ketika yang digunakan adalah barcode yang diberi id tertentu dibawah barcode, bisa dengan sebuah shape memanfaatkan properti fill (userpicture dan textframe fill color white), maka untuk saat ini yang umumnya menggunakan image QR Code bisa dibuat dengan 3 shape, yaitu : 1. shape container dengan memanfaatkan chart objects (baca : chart kosongan) 2. shape image QR Code dengan memanfaatkan rectangular shape yang dibuat di dalam shape container (di dalam chart) lalu diisi image QR Code mode stretch 3. shape keterangan berupa shape text box yang juga dibuat di dalam shape container Langkah pertama adalah membuat template label : 1. Insert sebuah chart kosong, atur lebar dan tinggi chart, ketebalan border (bila perlu), dsb. Lalu beri nama, misalnya chtTPL (nama di tulis di Name Box lalu enter) > misal lebar 30 mm x tinggi 100 mm [unit bisa diubah melalui Excel Options Advanced bagian Display item Ruler Units] > klik kotak name box (pojok kanan atas worksheet, di atas nomor baris Excel 1), ketik chtTPL lalu tekan Enter > atur border, misal shape outline weight dipilih 1pt dengan shape outline color automatic > atur chart fill bila perlu, misalnya dengan no fill. [pada pembuatan label nama, bisa jadi chart fill akan berguna jika diisi warna atau texture tertentu] 2. membuat template image QR Code > klik chart kosong hasil proses 1 (misal klik bordernya), ribbon Insert -> group illustrations -> klik Shapes -> pilih rectangular shapes -> gambar kotak di dalam chart kosong *** shape rectangular akan menjadi salah satu anak dari chart > beri nama pada name box, misal dengan nama shpQR > atur tanpa border, lalu pada format shape (klik kanan shape pilih format chape) diatur agar fill dengan Picture or Texture Fill -> klik File -> pilih sebuah image -> pastikan opsi Tile picture as texture TIDAK DICENTANG > atur dimensi shape shpQR ini, misal lebar 29.6mm x tinggi 29.6mm (bujur sangkar) > atur posisinya agar di sisi kiri chart (geser-geser saja dengan mouse) 3. membuat template shape textbox keterangan (shape loh ya, bukan control) > klik chart kosong hasil proses 1 (misal klik bordernya), ribbon Insert -> group illustrations -> klik Shapes -> pilih Text Box -> gambar kotak di dalam chart kosong *** shape text box akan menjadi salah satu anak dari chart > beri nama pada name box, misal dengan nama shpKET > atur tanpa border, font color adalah automatic, fill color diatur no color atau no fill > bila perlu, isi dengan suatu teks tertentu lebih dulu agar mudah mengatur jenis font, ukuran font, indent level, alignment, dsb. > atur dimensinya sesuai kebutuhan, misal tinggi 29.6mm dengan lebar seperlunya > atur posisinya di sisi kanan chart Sampai disini, templatenya sudah jadi di dalam sheet bernama 'myQRLabel', dengan object utama : 1. chart bernama chtTPL 2. shape image bernama shpQR (di dalam chtTPL) 3. shape text bernama shpKET (di dalam chtTPL) Langkah kedua adalah membuat prosedur untuk mengubah image dalam shpQR dan mengubah bunyi teks di shpKET. Misal, prosedur tersebut bernama ChangeQRLabel 1. ke VBE (ALT F11) -> insert sebuah Module (general module) -> buat blok prosedur bernama ChangeQRLabel public sub ChangeQRLabel() 'baris-baris kode akan ditulis disini end sub 2. di dalam prosedur tersebut, isi baris kode blok shape chart with sheets("myQRLabel").shapes("chtTPL") 'baris kode mengolah isi chart diletakkan disini end with 3. di dalam blok shape chart, isi dengan baris kode mengganti image QR Code milik shpQR dari suatu file yang ada di drive D *** Misal akan diganti dengan file QR Code bernama imgQR001.gif yang ada di drive D root directory .chart.shapes("shpQR").fill.userpicture "D:\imgQR001.gif" 4. di dalam blok shape chart, isi dengan baris kode mengganti bunyi teks milik shpKET dengan suat teks tertentu *** Misal teks 2 baris, dengan baris ke-1 berbunyi 'Mr. Kid' dan baris ke-2 berbunyi 'Ganteng' wkwkwkwk .chart.shapes("shpKET").textframe.characters.text="Mr. Kid" & vbcrlf & "Ganteng" Catatan : 0. sesuaikan nama worksheet dengan keadaan setempat 1. nama lengkap file image bisa mengambil dari suatu nilai di cells atau dengan cara yang lainnya. Sesuaikan dengan kebutuhan. 2. bunyi teks bisa mengambil dari suatu nilai di cells atau dengan cara lainnya. Sesuaikan dengan kebutuhan. 3. contoh kode di atas adalah mengubah isi template. Jika ingin yang diubah adalah hasil copy-an template (agar template tetap), maka lakukan hal berikut : Baris berbunyi : with sheets("myQRLabel").shapes("chtTPL") diubah menjadi baris-baris kode berikut : dim shpCHT as shape set shpCHT=sheets("myQRLabel").shapes("chtTPL").duplicate with shpCHT .name="shpLabel001" 'misal yang baru diberi nama shpLabel001 'misal diletakkan di posisi 100,200 .top=100 .left=200 Silakan dikembangkan sesuai kebutuhan. Wassalam, Kid 2017-04-27 16:48 GMT+07:00 'Heru Safrudin' [email protected] [belajar-excel] <[email protected]>: Dear B-Exceller, Bagaimana kode macro vba untuk mengisi sebuah shape (Rectangle) dengan gambar yg posisinya disebelah kiri seperti contoh dibawah ini: Adapun format manualnya sebagi berikut : Mohon pengetahuannya Terima kasih Wassalam Heru Safrudin

