Membuat Macro Tombol Print Preview di LibreOffice

Bagi sudah terbiasa mendesign spreadsheet sedemikian rupa, adakalanya kita ingin membuat tombol Print Preview sendiri. Baik itu disimpan didalam Userform (Dialog) atau di tempel dalam Sheet.

untuk membuat tombol print Preview di LibreOffice Calc memang tidak semudah di Excel Macro (VBA) jika di Excel VBA kita cukup menambahkan

Worksheets("Sheet1").PrintPreview

Jika di LibreOffice untuk melakukan printPreview kita bisa gunakan Uno Service atau UNO API. Berdasarkan WikiPedia, Universal Network Objects (UNO) adalah model komponen yang digunakan dalam rangkaian aplikasi perangkat lunak komputer OpenOffice.org dan LibreOffice. Ini berbasis antarmuka dan dirancang untuk menawarkan interoperabilitas antara berbagai bahasa pemrograman, model objek dan arsitektur mesin, pada satu mesin, dalam LAN atau melalui Internet.

Dengan Uno API tersebut kita bisa membuat tombol dengan macros ataupun tanpa Macros

Membuat Tombol Print Preview Tanpa Macros

Sebelum menggunakan Macros untuk yang pertama kita akan membuat tombol print Preview tanpa Macros. Untuk Memulai membuatnya sangat mudah,

  1. Buat/Insert Button pada Sheet

    Tahan pertama silahkan buat Button untuk Tombol Print Preview

  2. Setting Button Properties

    klik kanan pada Button yg telah kita buat kemudian pilih Control / Button Properties
    Sesuaikan Properties button menjadi
    Print : No
    Action : Opendocument / Web page
    URL : .uno:PrintPreview

  3. Matikan Design Mode

    Jangan lupa Matikan Design Mode agar Button yang telah kita buat tadi bisa di klik

Tombol Print Preview dengan Macro

jika tombol sebelumnya kurang cocok dan ingin membuat tombol dengan macros, silahkan copy script berikut kedalam Macro Editor dan arahka Button ke macro tersebut

 LibreOffice Basic 
Sub PrintPreview
     Dim oDocF As Object
     Dim oDH As Object
     oDocF = ThisComponent.getCurrentController.Frame    
     oDH = createUnoService("com.sun.star.frame.DispatchHelper")
     oDH.executeDispatch(oDocF, ".uno:PrintPreview", "", 0, Array()) 
End sub

dalam libreOffice saya juga masih belajar, mungkin kedepannya Artikel ini akan diupdate jika ada update baru tentang Print Preview

Be the first to comment

Leave a Reply

Your email address will not be published.


*