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

半点闲 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

'事实上执行了上述代码后,打印机只走纸确不能打印出“测试”两字。。
...全文
68 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
我的凝问是。。我明明己经把纸张的宽与高设置好了。

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

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

代码好像是没有错的,难道在代码中设置的纸张大小是没有用的?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧