Print 方法使用當(dāng)前的顏色和字體打印 Report 對(duì)象中的文本。
expression 必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。
Expr 必需 String 型。待打印的字符串表達(dá)式。如果忽略該參數(shù),Print 方法將打印一個(gè)空行。多個(gè)表達(dá)式可以用空格、半角分號(hào) (;) 或半角逗號(hào)隔開(kāi)??崭竦淖饔煤头痔?hào)相同。
只能在由節(jié)的 OnPrint 事件屬性設(shè)置所指定的事件過(guò)程或宏中使用該屬性。
由 Expr 參數(shù)指定的表達(dá)式在對(duì)象上的打印位置從 CurrentX 和 CurrentY 屬性設(shè)置所指定的位置開(kāi)始。
當(dāng)打印完 Expr 參數(shù)時(shí),通常追加一個(gè)回車符,以便下一個(gè) Print 方法從下一行開(kāi)始。當(dāng)出現(xiàn)回車時(shí),CurrentY 屬性設(shè)置按 Expr 參數(shù)(與 TextHeight 方法返回的值相同)的高度增加,并且將 CurrentX 屬性設(shè)為 0。
如果 Expr 參數(shù)后跟有分號(hào),將不會(huì)追加回車符,并且下一個(gè) Print 方法將在當(dāng)前 Print 方法打印的同一行上進(jìn)行打印。CurrentX 和 CurrentY 屬性設(shè)為緊接最后一個(gè)打印字符之后的點(diǎn)。如果 Expr 參數(shù)本身包含回車符,每一個(gè)這樣的內(nèi)嵌回車符都將如 Print 方法所說(shuō)明的設(shè)置 CurrentX 和 CurrentY 屬性,而不帶分號(hào)。
如果 Expr 參數(shù)后跟有逗號(hào),CurrentX 和 CurrentY 屬性將設(shè)置為相同行的下一個(gè)打印區(qū)。
當(dāng) Expr 參數(shù)在 Report 對(duì)象上打印時(shí),不適合指定位置的行將不會(huì)滾動(dòng)。文本將被剪裁以便適合對(duì)象。
因?yàn)?Print 方法通常打印的是比例間距的字符,所以必須記住打印的字符數(shù)和這些字符所占的固定寬度列數(shù)沒(méi)有關(guān)系。例如,寬的字母(例如 W)比固定寬度列要寬,而窄的字母(例如 I)則比固定寬度列要窄。必須確保表的列之間應(yīng)足夠?qū)?,以便容納想打印的文本。另外,也可以用固定寬度的字體(例如 Courier)來(lái)打印,以確保每個(gè)字符只用一列。
下面的示例使用 Print 方法來(lái)顯示名為“報(bào)表1”的報(bào)表上的文本。它使用 TextWidth 和 TextHeight 方法,使文本在垂直和水平方向上居中。
Private Sub Detail_Format(Cancel As Integer, _
FormatCount As Integer)
Dim rpt as Report
Dim strMessage As String
Dim intHorSize As Integer, intVerSize As Integer
Set rpt = Me
strMessage = "DisplayMessage"
With rpt
'Set scale to pixels, and set FontName and
'FontSize properties.
.ScaleMode = 3
.FontName = "Courier"
.FontSize = 24
End With
' Horizontal width.
intHorSize = Rpt.TextWidth(strMessage)
' Vertical height.
intVerSize = Rpt.TextHeight(strMessage)
' Calculate location of text to be displayed.
Rpt.CurrentX = (Rpt.ScaleWidth/2) - (intHorSize/2)
Rpt.CurrentY = (Rpt.ScaleHeight/2) - (intVerSize/2)
' Print text on Report object.
Rpt.Print strMessage
End Sub