VB中用printer對象打印表格_第1頁
VB中用printer對象打印表格_第2頁
VB中用printer對象打印表格_第3頁
VB中用printer對象打印表格_第4頁
VB中用printer對象打印表格_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、用printer對象打印表格用msflexgrid控件顯示的表格,要將它打印出來,最簡單的方法是用printform方法,然而這只適合于數(shù)據(jù)正好能被屏幕顯示的,即數(shù)據(jù)量少的,而且這種打印效果很差。而用printer對象進(jìn)行打印編程,雖然麻煩點,但效果卻是相當(dāng)不錯的,你可以自定義打印格式,打印頁數(shù),表格的粗細(xì),字體大小等。實際上用printer對象進(jìn)行打印編程是比較簡單的。 下面我就用一實例來說明: 打印的內(nèi)容是一張數(shù)據(jù)表,這里就只有兩列數(shù)據(jù),包括標(biāo)題,副標(biāo)題。(用A4紙打印) 假設(shè)數(shù)據(jù)處在C_DataArray(),和R_DataArray()中C_Name與R_Name分別為兩數(shù)據(jù)項的字段名

2、 Public Sub Printtable() 初始化 Dimprinter1 as Printer Dim pageheader Dim pagefooter Dim pageleft Dim pageright Dim usewidth Dim useheight Dim i, j, k As Integer Dim word As String Dim startx Dim starty Dim startyline 用來紀(jì)錄打印豎線的起點 Dim endyline 用來紀(jì)錄打印豎線的末點 設(shè)置頁面參數(shù) pageheader = 25 pagefooter = 25 pageleft

3、= 20 pageright = 20 With printer1 .PaperSize = 9 .ScaleMode = 6 .FontBold = True .ScaleLeft = -20 .ScaleTop = -25 .ScaleWidth = 210 設(shè)置為A4紙 .ScaleHeight = 297 usewidth = .ScaleWidth40 useheight = .ScaleHeight50 .CurrentX = 0 .CurrentY = 0 .DrawWidth = 5 End With 打印標(biāo)題 With printer1 .FontSize = 20 .Cur

4、rentX = (usewidth.TextWidth(DataTitle) / 2 .CurrentY = pageheader + .ScaleTop End With printer1.Print DataTitle 打印副標(biāo)題 printer1.FontSize = 15 word = DataTitle2 printer1.CurrentX = usewidthprinter1.TextWidth(word) printer1.Print word 打印第一條線 Line方法不能用在with .end with里 printer1.CurrentX = pageleft + prin

5、ter1.ScaleLeft startyline = printer1.CurrentY 線寬 printer1.Line -(printer1.ScaleLeft + printer1.ScaleWidthpageleft), printer1.CurrentY) printer1.FontSize = 10 printer1.Print vbLf printer1.CurrentY = printer1.CurrentY + 1 打印第一個字段名 starty = printer1.CurrentY printer1.CurrentX = (printer1.ScaleWidth40)

6、/ 2printer1.TextWidth(C_Name) / 2 printer1.PrintC_Name 打印第二個字段名 printer1.CurrentX = usewidth / 2 + (usewidth / 2printer1.TextWidth(R_Name) / 2) printer1.CurrentY = starty printer1.Print R_Name printer1.CurrentY = printer1.CurrentY + 1 打印數(shù)據(jù)和橫線,rownum為數(shù)據(jù)行數(shù) For i = 1 To rownum 判斷是否該頁已打滿 If printer1.Cur

7、rentY = useheight Then 打印橫線 printer1.CurrentX = printer1.ScaleLeft + pageleft printer1.Line -(printer1.ScaleLeft + printer1.ScaleWidthpageleft), printer1.CurrentY) printer1.CurrentY = printer1.CurrentY + 1 打印三條豎線 endyline = printer1.CurrentY printer1.Line (0, startyline)-(0, endyline) printer1.Line

8、(usewidth / 2, startyline)-(usewidth / 2, endyline) printer1.Line (usewidth, startyline)-(usewidth, endyline) 打印頁號 With printer1 .CurrentX = (.ScaleWidth.TextWidth(.Page) / 2pageleft .CurrentY = useheight + 3 End With printer1.Print printer1.Page printer1.NewPage With printer1 .CurrentX = pageleft +

9、 .ScaleLeft .CurrentY = pageheader + .ScaleTop startyline = .CurrentY End With End If 打印一行數(shù)據(jù) printer1.CurrentX = (printer1.ScaleWidth40) / 2printer1.TextWidth(C_DataArray(i) / 2 starty = printer1.CurrentY printer1.Print C_DataArray(i) printer1.CurrentX = (printer1.ScaleWidth40) / 2 + (printer1.Scale

10、Width40) / 2printer1.TextWidth(R_DataArray(i) ) / 2 printer1.CurrentY = starty printer1.Print R_DataArray(i) printer1.CurrentY = printer1.CurrentY + 1 Next i 打印最后一條橫線 printer1.CurrentX = printer1.ScaleLeft + pageleft printer1.Line -(printer1.ScaleLeft + printer1.ScaleWidthpageleft), printer1.CurrentY) endyline = printer1.CurrentY 打印三條豎線 printer1.Line (0, startyline)-(0, endyline) printer1.Line (usewidth / 2, startyline)-(usewidth / 2, endyline) printer1.Line (usewidth, startyline)-(usewidth, en

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論