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















Kirim email ke