當前位置:編程學習大全網 - 編程語言 - VB中用什麽代碼打印文件啊,語句怎麽寫啊,

VB中用什麽代碼打印文件啊,語句怎麽寫啊,

VB中的幾種打印方法

1. 采用Visual Basic 提供的簡單打印函數PrintForm 方法。應用程序窗體的PrintForm 方法時,Visual Basic 把窗體的位圖送到當前打印機。該方法的優點在於它幾乎不需要任何編程,但也有很大缺陷。最為突出的是當低分辨率圖形在高分辨率打印機上打印時,其結果令人無法滿意,會產生鋸齒。下面代碼將在打印機上打印窗體。

Private Sub Command1_Click() ' 用PrintForm 打印

Me.PrintForm ' 打印窗體的可見區域

End Sub

2. 用Printer 對象進行高分辨率輸出。但要想產生復雜的打印輸出,編程較為煩瑣。Printer 對象代表系統缺省的打印機,Printer 對象支持許多由窗體和圖形框所支持的屬性和方法,三種對象都有畫線和畫方框。應用程序可用以下代碼在Printer 對象上畫出壹平方英寸的方框。它離左上角二英寸。註意:打印機以twips 來測量距離。每英寸有1440 個twips。

Printer.Line(2 *1440,2 *1440) -Step(1440,1440), ,B

打印機、從窗體和圖形框都有Circle、PaintPicture、Print、Pset、TextHeight、TextWidth 方法。使用這些方法,應用程序可以為打印機生成高分辨率輸出。

打印文本直接用Print 方法,見下列代碼:

Printer.Print "Hello,China ComputerWorld!" ' 打印字符串

Printer 對象還有壹些窗體和圖形框都沒有方法:

NewPage 告訴打印機,程序對當前輸出頁的發送已經結束,Printer 對象應開始新的壹頁。

EndDoc 告訴VB,程序創建文檔結束,VB 應將它發送到物理打印機上打印。

KillDoc 取消當前打印作業。應用程序應該終止由EndDoc 和KillDoc 所設定的每個打印作業。

Zoom 屬性用於定義打印輸出的縮放因子。

Copies 屬性用於定義打印的副本數目。

3. 采用直接將數據傳送打印機的方法進行打印輸出。有兩種方法將數據送往打印機。第壹種是用Print #方法,就像將數據寫入壹個文件壹樣。另壹種方法寫端口,但不是送文本,而是送特定的PCL 語言,PCL 表示打印控制語言,它是壹種特殊語言,用轉義代碼來控制打印機的具體動作。因為此方法太煩瑣,本文不做太多介紹。

4. 如果妳在編程時用到了RichTextBox 控制,那麽妳可以使用該控件的SelPrint 方法來打印,使用非常簡單。下面壹段代碼即用RichTextBox 控件的SelPrint 方法來完成打印。

Private Sub Command3_Click() 'SelPrint 方法

CommonDialog1.Flags=cdlPDReturnDC +cdlPDNoPageNums

If RTF1.SelLength = 0 Then

'RTF1 為窗體的RichTextBox 控制

CommonDialog1.Flags = CommonDialog1.Flags

+cdlPDAllPages

Else

CommonDialog1.Flags = CommonDialog1.Flags +

cdlPDSelection

End If

CommonDialog1.CancelError = True

On Error Resume Next

CommonDialog1.ShowPrinter

If Err.Number = cdlCancel Then Exit Sub

If Err.Number <> 0 Then

Beep

MsgBox "Error printing file."

&vbCrLf +Err.Description, vbOKOnly +vbExclamation,

“Printing Error!"

Exit Sub

End If

Printer.Print ""

RTF1.SelPrint CommonDialog1.hDC

' 打印RTF1 控件的可見區域

End Sub

上面代碼先進行打進設置,再進行打印。如果不需要設置,采用下面代碼更為簡單:

RTF1.SelPrint Printer.hDC

' 打印RTF1 控件的可見區域

5. 可以在VB 中調用Word 97 提供的OLE 自動化服務,利用Word 97 強大的打印功能來完成VB 打印,筆者認為這是最令人滿意的方法。下面代碼說明VB 如何與Word 集成。

Private Sub Command4_Click() ' 調用Word 打印

Dim objWord As Object

Const CLASSOBJECT = "Word.Application"

On Error GoTo objError

Set objWord = CreateObject(CLASSOBJECT)

objWord.Visible = True

objWord.Documents.Add

With objWord

.ActiveDocument.Paragraphs.Last.Range.Bold = False

.ActiveDocument.Paragraphs.Last.Range.Font.Size =20

.ActiveDocument.Paragraphs.Last.Range.Font.Name =

"黑體"

.ActiveDocument.Paragraphs.Last.Range.Font.ColorIndex==4

.ActiveDocument.Paragraphs.Last.Range.Text =

"我是計算機世界讀者!"

End With

Clipboard.Clear

Clipboard.SetText

"通過剪切板向WORD 傳送數據!"

objWord.Selection.Paste

objWord.PrintPreview = True ' 預覽方式

'objWord.PrintOut' 執行打印

'objWord.Quit' 退出Word

Exit Sub

objError:

If Err <> 429 Then

MsgBox Str $(Err) &Error $

Set objWord = Nothing

' 不能創建Word 對象則退出

Exit Sub

Else

Resume Next

End If

End Sub

6. 用VC 編制DLL 模塊完成打印。在VB 中調用該模塊,用混合編程方法進行打印輸出。因涉及VC 編程比較煩瑣,這裏不再討論。

  • 上一篇:c語言中sbit的意思是?
  • 下一篇:長年被餵狗糧是種怎樣的體驗
  • copyright 2024編程學習大全網