因仓存管理需要批量打印条形码(每一件入库产品哦度需要张贴),因此,最近查看了很多网站的实例,发现没有很好的解决办法。无意中接触到VBA中的printout命令,使用后发现相当实用啊!简要整理一下,留个脚印,给各位同仁分享、借鉴。
一、VBA帮助中的printOut详解
在 Visual Basic 中,PrintOut 方法执行 PrintOut 操作。
expression.PrintOut(PrintRange, PageFrom, PageTo, PrintQuality, Copies, CollateCopies)
expression 必需。返回“应用于”列表中的一个对象的表达式。
PrintRange 可选 AcPrintRange。
AcPrintRange 可以是这些 AcPrintRange 常量之一:
|
acPages
|
acPrintAll 默认
|
acSelection
如果将该参数留空,将采用默认常量 (acPrintAll)。
|
PageFrom 可选 Variant 型。数值表达式,表示活动的窗体或数据表中的有效页码。如果 printrange 参数指定为 acPages,则必需设置该参数。
PageTo 可选 Variant 型。数值表达式,表示活动窗体或数据表中的有效页码。如果 printrange 参数指定为 acPages,则必须设置该参数。
PrintQuality 可选 AcPrintQuality。
AcPrintQuality 可以是下列 AcPrintQuality 常量之一:
|
acDraft
|
acHigh 默认
|
acLow
|
acMedium
如果将该参数留空,将采用默认常量 (acHigh)。
|
Copies 可选 Variant 型。如果将该参数留空,将采用默认值 (1)。
CollateCopies 可选 Variant 型。使用 True (–1) 可以自动分页,使用 False (0)
可以打印而不自动分页。如果将该参数留空,将采用默认值 (True)。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将有一个或多个位于末端的参数留空,在指定的最后一个参数后面不需使用逗号。
示例
下面的示例将活动窗体或表的前四页打印两份。
DoCmd.PrintOut acPages, 1, 4, , 2
二、实际调用:
Dim InStockQty As Integer '设置InstockQty数据类型
InStockQty= DLookup("[FAuxQty]", "tbl_ICStockBillEntry", "[FbillNO]='" & selectstr & "'") '表中查找InstockQty(入库数量)值
DoCmd.OpenReport "rpt_ICStockBill", acViewPreview, , "入库单号='" & P_strFTimeID & "'" '打开报表
DoCmd.PrintOut acPages, , , acMedium, InStockQty '打印与入库数量相等的标签(指定份数)
DoCmd.Close acReport, "rpt_ICStockBill" '关闭当前活动的报表