PC WORLD Online - Word İçin Faydalı Makrolar

Word Belgesi kaç kere yazdırıldı?

Aşağıdaki Word for Windows makrosu Word’ün hem 2.0 hem de 6.0 sürümlerinde kullanılabiliyor. Bu makronun yaptığı işe gelince. Sık sık kağıda döktüğünüz belgelerin olduğunu varsayalım. İşte bu makroyu NORMAL.DOT şablonuna eklediğinizde, makro size ilgili belgenin şu ana kadar kaç defa kağıda döküldüğünü gösteriyor. Aynı zamanda, belgeyi istediğiniz sayıda kağıda dökmenize imkan da veriyor. Makroyu çalıştırdığınızda ekrana basit bir diyalog kutusu geliyor ve belgenin şimdiye kadar kaç defa kağıda döküldüğü ve en son olarak hangi kullanıcı tarafından basıldığı diyalog kutusunda görüntüleniyor. Diyalog kutusu aynı zamanda bu belgeden kaç kopya yazdıracağınızı soruyor size. Burada istediğiniz sayıyı girip Tamam düğmesine bastığınızda, belgeniz ayarladığınız sayıda yazdırılıyor.
 
Sub MAIN
	Dim dlg1 As FileSummaryInfo
	GetCurValues dlg1
	PrintedCopies = Val(dlg1.Keywords)
	CopiesToDate$ = dlg1.Keywords
	DateLastCopy$ = dlg1.Comments
	If PrintedCopies = 0 Then
		CopiesToDate$ = "Daha önce hiç yazdırılmadı."
		DateLastCopy$ = ""
	EndIf
	Begin Dialog UserDialog 300, 100, "Akıllı Yazdır"
		Text 15, 5, 270, 18, CopiesToDate$, .Text1
		Text 15, 20, 270, 36, DateLastCopy$, .Text2
		Text 15, 50, 180, 18, "Kaç kopya yazdıracaksınız?"
		TextBox 215, 50, 40, 18, .NumberCopiesNow$
		OKButton 15, 75, 88, 21
		CancelButton 170, 75, 88, 21
	End Dialog
	Dim Copies As UserDialog
	Copies.NumberCopiesNow$ = "1"
	choice = Dialog(Copies)
	If choice = 0 Then Goto Bye
	NewCopies = Val(Copies.NumberCopiesNow$)
	TotalCopies = NewCopies + PrintedCopies
	While PrintedCopies <> TotalCopies
		PrintedCopies = PrintedCopies + 1
		FileSummaryInfo .Keywords = Str$(PrintedCopies)
		EditSelectAll
		UpdateFields
		FilePrintDefault
	Wend
	FileSummaryInfo .Keywords = Str$(PrintedCopies) + \
		" kopya yazıldı."
	If PrintedCopies = 1 Then
		FileSummaryInfo .Keywords = Str$(PrintedCopies) + \
			" kopya yazıldı."
	EndIf
	Dim dlg2 As ToolsOptionsUserInfo
	GetCurValues dlg2
	LastPrintedBy$ = dlg2.Name
	FileSummaryInfo .Comments = "Son yazdırılma: " + Date$() + \
		Chr$(13) + "yazdıran: " + LastPrintedBy$ + "."

Bye:
End Sub