Tecnologia, programação e muito Visual FoxPro.

segunda-feira, 26 de abril de 2010

Re: ]] XL-mania [[ Cara Menghitung Jumlah Halaman Print

Anda perlu Info "Number of Pages to be print"  kan yaaa ??
Asumsinya: sheet yg akan dicari info-nya, sudah di "Page SetUp" lebih dulu
 

cara 1
sebuah prosedur diselipkan di tempat tertentu;
agar pada saat user AKAN menCETAK Sheet, >> prosedur tsb bekerja
 
isi prosedur (memanfaatkan salah satu perintah makro excel4)
ExecuteExcel4Macro("Get.Document(50)")
 
maka hasilnya setiap user akan mencetak sheet (mana pun di workbook bermakro tsb)
akan muncul msgbox yg memberitahukan jumlah PAGE yg akan di PRINT
 
Cara ini sudah di-implementasikan pada workbook terlampir (contoh)
 
Cobalah memberlakukan filter-filter di sheet contoh (berisi daftar Fungsi di Excel 2003)
setiap difilter akan ada beberapa rows yg menjadi tersembunyi, dan ini menyebabkan
jumlah page yg akan diPRINT berubah.
maka MsgBox nya pun (muncul ketika anda memberi perintah Print atau Print Preview)
memberi info sesuai keadaan terbaru
 
Prosedurnya ditulis di module level wokbuk sbb:
 
Private Sub Workbook_BeforePrint(Cancel As Boolean)
   ' siti Vi / 27 April 2010
   Dim YesNo, tex As String
   tex = "Banyaknya PAGE yg akan di Print : "
   tex = tex & CLng(ExecuteExcel4Macro("Get.Document(50)")) & vbCrLf & vbCrLf
   tex = tex & "Mau di-PRINT sekarang ??"
   YesNo = MsgBox(tex, vbQuestion + vbYesNo, "ctv for Sheet: " & ActiveSheet.Name)
   If YesNo = vbNo Then Cancel = True
End Sub
Prosedur kelihatannya jadi agak panjang, karena hanya dipenuhi pesan-pesan
Perintah intinya hanyalah code dlm font warna coklat saja.
 
Sebetulnya cara menggunakan perintah makro excel4 tidak harus melalui pemrograman
VBA spt di atas, 
Tanyakan kpd bang momod tuh (di buku 50 jurus saktinya banyak sekali memberi NAMA
(Define > Name) perintah makro excel4) ; lalu dari cell , NAMA itu dipanggil melalui formula.
....... halo bang momods..., gitu kan ya???
 

cara 2
Dengan membuat FBD atau UDF seperti di bawah ini
Nantinya anda dapat menulis formula di sheet / cell mana saja
=JmlPageAkanDiCETAK()
 
atau kalau ingin mengetahui sheet lain (juga di workbook lain ygsedang terbuka)
=JmlPageAkanDiCETAK(SatuCell_diSebuahSheet/BookLain)
cara ini; kalau anda mau; harus menuliskan codenya di module standar...
 
Function JmlPageAkanDiCETAK(Optional cel As Range) As Integer
   Dim iHPgBreaks As Integer, iVPgBreaks As Integer
   Dim iTotPages As Integer, PrintSheet As Worksheet
   If cel Is Nothing Then
      Set PrintSheet = ActiveSheet
   Else
      Set PrintSheet = cel.Parent
   End If
   iHPgBreaks = PrintSheet.HPageBreaks.Count + 1
   iVPgBreaks = PrintSheet.VPageBreaks.Count + 1
   iTotPages = iHPgBreaks * iVPgBreaks
   JmlPageAkanDiCETAK = iTotPages
End Function
 
 

----- Original Message -----
Sent: Monday, April 26, 2010 12:54 PM
Subject: ]] XL-mania [[ Cara Menghitung Jumlah Halaman Print

Salam,
Para Master sekalian, saya mau nanya macro untuk menghitung jumlah halaman
yang akan di print apa yah? untuk memperkirakan kertas yang nanti akan
dibutuhkan untuk ngeprint beberapa file excel..

sekiranya sudah pernah dibahas, sepertinya saya belum menemukan...

terima kasih
 
Hormat saya,
Ihsan Purwadi
 

Nenhum comentário:

Arquivo do blog