Macro Membuat Nomor Acak Berulang di CorelDraw

Bagaimana cara membuat nomor secara acak...? mengikuti objek di corelDraw seperti contoh kasus Amplop Keamanan PIN Bank atau Vektor yang terdiri dari kumpulan nomor?
Membuat Nomor Acak Contoh Amplop PIN Perbankan dan Vektor Nomor
 Hemmzzz, sebelum saya jawab saya kasih slogan dulu nih :D
Desain Is Creative, Programing Is Logic & CorelDraw Is Magic :D Horas #GRAFISin. 
Banyak jalan menuju roma, begitu juga ketika anda mendesain di CorelDraw anda bisa menggunakan tools apa saja sesuka hati anda, dalam hal membuat random nomor berikut cara manualnya:

  1. Buat objek yang anda inginkan di CorelDraw,
  2. Buat Nomor secara acak dengan Textool baik tipe paragraph maupun tipe Artistic.
  3. Copy paste nomor tersebut sampai penuh mengikuti objek yang anda inginkan.
  4. Masukan nomor acak yang anda buat ke dalam objek pada langkah 1
Saya tidak akan menjelaskan detail cara manualnya, karena akan saya berikan kode Macronya sehingga anda bisa otomatis membuatnya dan memanggilnya saat sewaktu-waktu anda butuhkan.

Berikut ini kodenya:


Sub NomorAcak()
    'Membuat Nomor Acak Otomatis
    'Publikasi http://goo.gl/nywYWL
    'Kode oleh Ade Sanusi | 21 Nopember 2014
    Dim seleksi As Shape
    Dim l_seleksi As Double, t_seleksi As Double
    Dim l_bantu As Double, t_bantu As Double
    Dim x_awal As Double, y_awal As Double
    Dim m_kanan As Double, m_atas As Double
    Dim posisi_atas As Double
    
    ActiveDocument.Unit = cdrMillimeter

    Set seleksi = ActiveSelection
    seleksi.GetSize l_seleksi, t_seleksi
    ActiveDocument.ReferencePoint = cdrBottomLeft
    seleksi.GetPosition x_awal, y_awal
    
    '--------Atur di bawah ini sesuai selera Anda------------
    ukuran_nomor = 12 'pt
    jarak_nomor = 2 'mm
    j_kanan = ukuran_nomor
    m_kanan = 2 'Margin Jarak antar nomor ke samping
    m_atas = 2 'Margin jarak antar nomor ke atas
    huruf = "Arial" 'Untuk Ganti nama font pastikan Namanya Persis Sama dengan koleksi font di CorelDraw
    ukuran_nomor = 12 'pt (Untuk Mengatur Ukuran Font/Nomor)
    
    seleksi.Copy
    seleksi.Delete
    acak = Rnd()
    ActivePage.CreateLayer "www.Grafisin.com " & acak
    
    Dim nomor_bantu As Shape
    Set nomor_bantu = ActiveLayer.CreateArtisticText(x_awal, y_awal, 4, cdrIndonesian, , huruf, ukuran_nomor)
    nomor_bantu.Fill.UniformColor.CMYKAssign 0, 0, 0, 0
    nomor_bantu.GetSize l_bantu, t_bantu
    
    j_kanan = (l_seleksi \ (l_bantu + margin_kanan) + 2)
    j_atas = (t_seleksi \ (t_bantu + margin_atas) + 2)
    jumlah_nomor = j_kanan * j_atas
    
    'Membuat Perulangan
    Dim nomor As Shape
    For i = 0 To jumlah_nomor - 1
    posisi_atas = i \ j_kanan
    nomor_acak = Int((9 - 0 + 1) * Rnd + 0)
    Set nomor = ActiveLayer.CreateArtisticText(0, 0, nomor_acak, cdrIndonesian, , "huruf", ukuran_nomor)
    nomor.Move x_awal, y_awal
    'Mengatur Nomor dari Kiri ke kanan kemudian ke atas
    nomor.Move ((i - (j_kanan * posisi_atas)) * l_bantu), (posisi_atas * t_bantu)
    'Convert Nomor ke Curve
    'Tambahkan tanda petik satu di depan kode nomor.ConvertToCurver jika tidak ingin di Convert
    nomor.ConvertToCurves
    Next i
    nomor_bantu.Delete
    ActiveLayer.Shapes.All.AddToSelection
    Dim s1 As Shape
    Set s1 = ActiveSelection.Group
    Dim objek_copy As Shape
    Set objek_copy = ActiveLayer.Paste
    s1.AddToSelection
    s1.AddToPowerClip objek_copy
End Sub


Kode ini saya uji coba di CorelDraw X7, dan jika ada pesan error saat anda coba di Versi CorelDraw di bawahnya silahkan komentar di artikel ini, nanti akan saya berikan solusinya :)

Cara penggunaanya bisa melalui Docker Macro Manager untuk X5 ke atas atau di bawah ini untuk semua versi:
  1. Buka CorelDraw, 
  2. Tools - Macros - Macro Editor (Alt+F11)
  3. Cari di sebelah kiri bagian Project Explorer pada GlobalMacros(GlobalMacros.gms)
  4. Klik pada Folder Modules kemudian
  5. Klik 2x pada CorelMacros kemudian masukan kode di bawahnya
  6. Simpan (Ctrl+S) dan tutup Macro Editornya
  7. Buat objek yang anda inginkan kemudian di seleksi,
  8. Tools - Macros - Run Macro
  9. Pilih pada Macro In : Global Macros
  10. Pilih pada Macro Name : CorelMacros.NomorAcak
  11. Run
  12. Tunggu hingga proses selesai
Anda juga bisa menggunakan kode ini untuk gambar vektor anda, berikut contoh hasilnya:
Vektor Kambing Terbuat dari Kumpulan Nomor Acak di CorelDraw

Perhatian!
Pastikan anda menyimpan terlebih dahulu file desain anda, untuk menghindari hank karena proses perulangan yang terjadi, semakin besar ukuran objek anda, semakin banyak juga perulangan yang terjadi. Biasanya saat dijalankan akan terlihat hank, (Not Responding) tunggu saja itu sedang proses, Kecepatan prosesnya tergantung Prosessor dan RAM PC Anda.

#HappyDesign #HappyCoding #GRAFISin

Posting Komentar

0 Komentar