下面的代码为何只进纸而确无法打印???

半点闲 2003-05-15 09:27:07
Private Sub Command1_Click()
Printer.ScaleMode = vbMillimeters '厘米

Printer.Width = 190
Printer.Height = 100

Printer.CurrentX = 40
Printer.CurrentY = 10

Printer.Print "测试"
Printer.EndDoc
End Sub

'事实上执行了上述代码后,打印机只走纸确不能打印出“测试”两字。。
...全文
30 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
junwhj 2003-05-16
With Printer
.ScaleMode = vbMillimeters
.Width = 19 * 567 'CM->TWIPS,ScaleMode属性对Width和Height属性无影响,它影响ScaleWidth/ScaleHeight属性
.Height = 10 * 567 'CM->TWIPS
.CurrentX = 40
.CurrentY = 10
.Print "测试"
.EndDoc
End With
回复
shuchang0626 2003-05-15
应该是已经打印了
只不过打在了纸外面
回复
半点闲 2003-05-15
可是在我的打印机上无法打印出来。。

但是如何把这句改为Printer.CurrentX = 20,是可以打印出来“测试”两字,但是好像就是“试”这个字右边好像没有打全。

我用的是OKI5530票据打印出,在打印机纸张上设置的是USF格式。

在我上述得代码中其实我是想设置我的纸张宽=190毫米,高=100毫米。。
回复
huaik 2003-05-15
语句没有错啊
我试了一下,可以在纸上打出来
回复
半点闲 2003-05-15
帮我指出上述语句错在什么地方吗?
回复
xayzmb 2003-05-15

打印机肯定是打印了
只是没有打在你能看到的地方
呵呵
...........
回复
半点闲 2003-05-15
更正声明:
Printer.ScaleMode = vbMillimeters '厘米 ----打错了实际上是“毫米”
回复
半点闲 2003-05-15
上述的代码是可以打印,但对纸张确无法精确控制。。最明显的表现就是,当你的程序己经打印完了你所打印的信息后。。还一直走纸(这里的纸张大小,是系统打印机里纸张属性里设置)。。。

因为我的打印机有不同的软件在用,而它们要求的纸张都不一样。。所以我无法直接在“打印机里设置纸张类型”。。如果设置了会影响别的软件在执行打印程序执行。

我的目的是想用代码的方式设置“自定义的纸张”
回复
bluelang 2003-05-15
Private Sub Command1_Click()
Printer.ScaleMode = vbMillimeters '厘米

' Printer.Width = 190 去掉这两行就没有问题了。
'Printer.Height = 100

Printer.CurrentX = 40
Printer.CurrentY = 10

Printer.Print "测试"
Printer.EndDoc
End Sub
回复
huangjianyou 2003-05-15
控制面板中打印机设置好纸张。
回复
huaik 2003-05-15
在代码中设置纸张的大小是有用的,你设置的字体大小是多少?
回复
半点闲 2003-05-15
我的凝问是。。我明明己经把纸张的宽与高设置好了。

而且在进行打印时的定位,如果按照我定义的纸的宽与高可是不会打印到纸的外面。。

我现在就是这点不太明白,不知道造成这种原因出在什么地方?

代码好像是没有错的,难道在代码中设置的纸张大小是没有用的?
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7489

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2003-05-15 09:27
社区公告
暂无公告