Merekam langkah2 konversi/Import file Report/Print Image ke Excel 2007

Sering kali waktu kita mengkonversi file report/Print Image  ke Excel terjadi kesalahan sehingga menghasilkan GL yang tidak balance misalnya, hal ini diakibatkan kesalahan dalam memotong fixed width text report. Capek sekali kalau  kita mesti mengulang lagi dari awal, oleh karena itu kita bisa gunakan VBA untuk merekam langkah2 dalam mengconversi Report Text tadi.

Kita gunakan data :  gl tahun 2010_part.txt

ini tampilannya

Record Convert01

Langkah2nya :

  1. Buat workbook baru
  2. Klik Record macro di pojok kiri bawah Excel
  3. Jika tombol itu tidak ada maka developer ribbon harus ditampilkan dulu, caranya baca disini 
  4. Ini penampilan Record macro jika kita klik tombol record
  5. Record Convert02
  6. Kita isi nama dan keterangan sesuai dengan selera kita
  7. Kita simpan di Personal Macro workbook biar tidak gabung dengan file hasil konversi kita dan agar makro tsb tetap muncul kapan saja kita butuhkan
  8. Lalu kita mulai konversi
  9. Kita gunakan Ribbon Data --> From Text
  10. lalu lakukan seperti biasa, kita potong2 (ingat kalau text adalah rata kiri sedang number adalah rata kanan)
  11. Record Convert03
  12. lalu kita atur type datanya, untuk tanggal type : Date, format DMY, lalu semuanya adalah text kecuali debet, kredit, dan saldo
  13. ini tampilannya :
  14.  Record Convert04
  15. Klik Finish lalu kita pilih New Worksheet untuk tempat data hasil konversinya
  16. Record Convert05
  17. Ini hasilnya
  18. Record Convert10
  19. Jika sudah lalu kita matikan record macronya
  20. Record Convert06
  21. Kita klik kotak diatas hingga berubah menjadi
  22.  Record Convert07
  23. Kita akan lihat macro yang sudah kita rekam tadi
  24. Kita Klik Ribbon Developer -->Visual Basic
  25. atau shortcutnya ALT+F11
  26. Record Convert08
  27. Itu adalah kode2 yang diciptakan excel sebagai representasi atas langkah2 yang telah kita lakukan saat perekaman
  28. Untuk menjalankannya kita klik Ribbon Developer -->Macros
  29. Pilih nama macro kita
  30. lalu klik Run
  31. Record Convert09
  32. Ini hasilnya, akan dihasilkan dalam jangka waktu 2 detik di PC saya
  33. Bayangkan lamamya jika kita harus mengulang lagi secara manual
  34. Record Convert10
  35. Bagaimana jika terjadi kesalahan, misalnya salah potong atau salah dalam memilih type data?
  36. Kita ubah saja di macronya,(Klik ALT+F11, lalu pilih module1 pada Personal.xlsb untuk melihat kode), misalnya untuk mengubah lebar kolom kita lihat di baris yang  berisi
  37. .TextFileFixedColumnWidths = Array(13, 16, 44, 19, 19)
  38. disini terdiri dari 5 bagian karena untuk kolom terakhir tidak perlu lagi karena merupakan sisa panjang ke kanan
  39. kalau kita mau ubah menjadi panjang 20 maka kita ubah menjadi
  40. .TextFileFixedColumnWidths = Array(13, 16, 44, 20, 20)
  41. sedang jika kita ingin mengubah type data maka kita ubah baris yang berisi
  42. .TextFileColumnDataTypes = Array(4, 2, 2, 1, 1, 1)
  43. disini type data adalah sbb
  44. Constant Description
    xlGeneralFormat=1 General
    xlTextFormat=2 Text
    xlSkipColumn=3 Skip column
    xlDMYFormat=4 Day-Month-Year date format
    xlDYMFormat=5 Day-Year-Month date format
    xlEMDFormat=6 EMD date
    xlMDYFormat=7 Month-Day-Year date format
    xlMYDFormat=8 Month-Year-Day date format
    xlYDMFormat=9 Year-Day-Month date format
    xlYMDFormat=10 Year-Month-Day date format
  45. Jadi kalau mau kita ubah type tanggal menjadi text kita ganti menjadi
  46. .TextFileColumnDataTypes = Array(2, 2, 2, 1, 1, 1)
  47. Kalau misalnya kita menggunakan format bahasa indonesia dimana pemisah ribuan adalah titik dan desimal adalah koma
  48. kita tambahkan di baris paling bawah sebelum baris End Sub
  49. .TextFileDecimalSeparator = ","
  50. .TextFileThousandsSeparator = "."
  51. namun dalam kasus ini format adalah bahasa inggris (default sehingga boleh tidak perlu ditambahkan, atau kita tambahkan juga boleh untuk contoh)
  52. Lengkapnya adalah sbb :
  53. Sub GL_2010_part()
    '
    ' GL_2010_part Macro
    ' Menconvert Report File GL_2010_part ke excel
    '
    
    '
        ActiveWorkbook.Worksheets.Add
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;E:\Module Eauditor\Module Visual Eauditor\Module Visual TABK\Data\GL 2baris\gl tahun 2010_part.txt" _
            , Destination:=Range("$A$1"))
            .Name = "gl tahun 2010_part"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlFixedWidth
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(4, 2, 2, 1, 1, 1)
            .TextFileFixedColumnWidths = Array(13, 16, 44, 19, 19)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
    
            'kita tambahkan untuk format number bahasa inggris
            .TextFileDecimalSeparator = "."
            .TextFileThousandsSeparator = ","
    
        End With
    End Sub
Bookmark the permalink.

2 Responses to Merekam langkah2 konversi/Import file Report/Print Image ke Excel 2007

  1. Imam says:

    Mantap Om Bayu …. top markotop

  2. Pingback: Conversi Report file/Print Image yang memiliki field deskripsi lebih dari satu baris

Leave a Reply

Your email address will not be published. Required fields are marked *