vb中的打印代码
如上,当我查询出结果后,点击"打印"控件后,可以把查询出的结果直接打印也来,代码怎么写PrivateSubCommand5_Click()显示错误的参数号或无效的属性赋值...
如上,当我查询出结果后,点击"打印"控件后,可以把查询出的结果直接打印也来,代码怎么写
Private Sub Command5_Click() 显示错误的参数号或无效的属性赋值
Dim i As Long
Dim strPrt As String
For i = 0 To DataGrid1 - 1
strPrt = strPrt & vbCrLf & DataGrid1.Text(i)
Next i
Printer.FontSize = 20
Printer.Print strPrt
Printer.EndDoc
End Sub
能帮我看看错哪 里了吗 展开
Private Sub Command5_Click() 显示错误的参数号或无效的属性赋值
Dim i As Long
Dim strPrt As String
For i = 0 To DataGrid1 - 1
strPrt = strPrt & vbCrLf & DataGrid1.Text(i)
Next i
Printer.FontSize = 20
Printer.Print strPrt
Printer.EndDoc
End Sub
能帮我看看错哪 里了吗 展开
4个回答
展开全部
最简单的,就是:
Me.PrintForm
否则,一两句话还说不清。
错误肯定是严重的!
For i = 0 To DataGrid1 - 1
你这个 DataGrid1 叫系统怎么理解?DataGrid1是这个网格控件的名字对吧?名字还可以减1啊?那么名字减1等于几呢?
你要这样打印结果的话,我告诉你要这样:DataGrid控件有列属性(Col)和行属性(Row),这样就可以获得某单元格的内容了:这样:
要定位到列和行,才能获得指定的单元格值:并且注意,行与列号都是从0开始编号!
DataGrid1.Col = 0
DataGrid1.Row = 0
Print DataGrid1.Text '这样就能获得首行首列单元格的内容
所以要获得全部内容,要使用循环。
但是,换个思路,你这个DataGrid控件里的数据,应该来自于记录集对象,那直接用对象的属性来获得就可以了呀!
Me.PrintForm
否则,一两句话还说不清。
错误肯定是严重的!
For i = 0 To DataGrid1 - 1
你这个 DataGrid1 叫系统怎么理解?DataGrid1是这个网格控件的名字对吧?名字还可以减1啊?那么名字减1等于几呢?
你要这样打印结果的话,我告诉你要这样:DataGrid控件有列属性(Col)和行属性(Row),这样就可以获得某单元格的内容了:这样:
要定位到列和行,才能获得指定的单元格值:并且注意,行与列号都是从0开始编号!
DataGrid1.Col = 0
DataGrid1.Row = 0
Print DataGrid1.Text '这样就能获得首行首列单元格的内容
所以要获得全部内容,要使用循环。
但是,换个思路,你这个DataGrid控件里的数据,应该来自于记录集对象,那直接用对象的属性来获得就可以了呀!
更多追问追答
追问
不懂了,我也只是刚刚接触这个VB,不是太懂,是来自于记录集对象
追答
你要至少解决两个问题:
我先解决你的打印问题:
在VB里,要调用打印机,可以使用Printer对象,使用 Printer 对象可以实现与系统打印机的通讯(最初是缺省系统打印机)。
Printer对象的常用属性:
Printer.FontSize = 11
Printer.FontBold = False
Printer.Font = "宋体"
要执行实际打印:
1,采用Printer对象的Print方法:
例如:
Printer.Print "你好!"
Printer.Print 1234
2,换页
Printer.NewPage
3,终止发送给 Printer 对象的打印操作,打印机开始执行打印任务
Printer.EndDoc
要注意:你要实行打印,起码有两步:
1,Printer.Print "你好!" '(注意,本命令仅传输给打印机,但并没有打印)
2,Printer.EndDoc '打印机接到此命令,结束传输,开始真正的打印。
你可以编写一个最简单的打印实验:
一个按钮就可以:
Option Explicit
Private Sub Command1_Click()
Printer.Print "你好!" '(注意,本命令仅传输给打印机,但并没有打印)
Printer.EndDoc '打印机接到此命令,结束传输,开始真正的打印。
End Sub
如果你连接了打印机,并设置了(假设在WORD里可以打印),那么,单击上面按钮,就OK了!
第2个问题:你这个网格数据是怎么得到的呢?
展开全部
这是一个系统的过程,你可以使用VB自还的报表设计器,来设计报表,然后把这个datagrid 的Recordset 传到报表里。你可以百度一下,VB报表。或者是使用EXCEL 将数据导出为EXCEL 然后再到EXCEL 里打印。方法很多。或是最午简单的,向楼上说的,me.printForm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
饿。。。
试试print 注意设置flag
试试print 注意设置flag
更多追问追答
追问
能具体点吗?本人不是太懂VB
追答
插入打印机用print方法,比如 printer.print
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询