技术论坛

 VB报表实现(含原程序及注释),仅供参考。

返回主题列表
作者 主题
bluecloud009
游民

经验值:83
发帖数:57
精华帖:1
楼主    2004-02-12 09:34:34
主题:VB报表实现(含原程序及注释),仅供参考。 精华帖 
这个程序是我自己写的,已经在实际使用,贴出来供大家参考。
我这里的报表实现主要是通过vb程序从wincc读取生产数据,然后通过vb将数据写入预先设计好的excel文档里并连接打印机打印;具体实现步骤如下;

第一步:按时间读取wincc数据,或者通过按钮实现对wincc数据的读取;
这里提供通过按钮读取数据的原代码,按时间读取只需要将代码用在一个时钟控件的代码里就行;按钮的代码如下;
Private Sub Command1_Click()
Dim wincc As Object '定义wincc为对象
Set wincc = CreateObject("WinCC-Runtime-Project") '创建wincc运行对象,这个方法在组态手册里能找到

Text1.Text = wincc.getvalue("wincc变量1")'读取wincc变量值到vb的text控件
Text2.Text = wincc.getvalue("wincc变量2")

Text3.Text = wincc.getvalue("wincc变量1")
Text4.Text = wincc.getvalue("wincc变量2")

End Sub


第二步:将存在于vb中的wincc变量值写入预先设计好的excel报表中并打印;
通过按钮实现;
Private Sub Command2_Click()
Dim xlApp As Object ’定义xlapp为对象
Set xlApp = CreateObject("Excel.Application") '创建excel.application对象

Dim xlbook As Object
Set xlbook = xlApp.Workbooks.Open("excel文档名.xls") ’定义并在后台打开excel文档;
Dim xlsheet As Object
Set xlsheet = xlbook.Worksheets(1) ’定义并打开报表所在的工作簿,这里为worksheets(1);

xlsheet.Cells(2, 3) = Text1.Text ’将text中的值写入excel工作表,其中,xlsheet.cells(2,3)表示工作表的第二行,第三列对应的格,xlsheet.cells(3,4)表示工作表的第三行,第四列对应的格,这样一来就可以很方便的预先设计出很规范并且很美观的报表,然后填入数据即可。
xlsheet.Cells(2, 5) = Text2.Text
xlsheet.Cells(3, 3) = Text3.Text
xlsheet.Cells(2, 7) = Text4.Text

xlbook.Save ’保存
xlbook.PrintOut ’打印(默认打印机打印)
xlApp.Quit ’退出
End Sub
bluecloud009
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。