机房收费系统(二)-导出为excel

来源:互联网 发布:恒指期货实时行情数据 编辑:程序博客网 时间:2024/06/06 15:52

       

一、引用Microsoft Excel 15.0Object Library

     机房收费系统中多个窗体用到从MSFlexGrid记录导出为Excel,在VB要导出数据到Excel中,首先要在引用中添加引用Microsoft Excel 15.0Object Library,前提是电脑上有office应用程序,即使有office程序,有时候在引用中找不到这一项,别急,按以下步骤走,便会搞定。

     1、点击浏览


     2、添加引用

        找到execl所在位置,在文件类型选择*exe;*.dll,然后找到exe文件,选中execl.Exe,点击打开。再打开工程-引用,奇迹出现。



二、以下代码仅供参考

 1、数据从控件MSHFlexGrid中导出

Private SubcmdExportExcel_Click()    Dim xlApp As New Excel.Application             '创建excel对象,使excel对用户可见    Dim xlBook As Excel.Workbook                      '声明工作簿对象    Dim xlSheet As Excel.Worksheet                    '声明工作表单       If MSHFlexGrid.Text = ""Then                         '判断是否有记录可供导出           MsgBox "没有记录可导出!", vbOKOnly +vbExclamation, "警告"           Exit Sub     Else                 Set xlBook =xlApp.Workbooks.Add(1)              '创建新的空白工作簿           Set xlSheet =Excel.ActiveWorkbook.ActiveSheet   '创建新的工作表单                 For i = 0 To MSHFlexGrid.Rows -1                 '填入数据                            For j = 0 To MSHFlexGrid.Cols -1                    xlSheet.Cells(i + 1, j + 1)= MSHFlexGrid.TextMatrix(i, j)                Next j                           Next i                     xlApp.Visible = True                             '显示Excel表格            End IfEnd Sub

 

2、将函数定义在模块中

     然后在窗体中再调用它,这样不仅省时间省代码,还有利于提高系统的稳定性

Private SubcmdExportExcel_Click()    Dim xlApp As New Excel.Application             '创建excel对象,使excel对用户可见    Dim xlBook As Excel.Workbook                      '声明工作簿对象    Dim xlSheet As Excel.Worksheet                    '声明工作表单       If MSHFlexGrid.Text = ""Then                         '判断是否有记录可供导出           MsgBox "没有记录可导出!", vbOKOnly +vbExclamation, "警告"           Exit Sub     Else                 Set xlBook =xlApp.Workbooks.Add(1)              '创建新的空白工作簿           Set xlSheet =Excel.ActiveWorkbook.ActiveSheet   '创建新的工作表单                 For i = 0 To MSHFlexGrid.Rows -1                 '填入数据                            For j = 0 To MSHFlexGrid.Cols -1                    xlSheet.Cells(i + 1, j + 1)= MSHFlexGrid.TextMatrix(i, j)                Next j                           Next i                     xlApp.Visible = True                             '显示Excel表格            End IfEnd Sub

           由于机房收费系统中多次用到这个功能,把这些代码写到了模块中,既方便又省时。所以,学习就是从无从下手到找到解决办法,然后从一种解决办法到多种解决办法,然后还可以从一个点拓展到一个面,学习就是积少成多的一个过程。

 

 三、拓展

1、word也可以实现和vb交互

 Private subcommand3_click()

<span style="font-size:14px;"><span style="white-space:pre"></span>Set wrdApp = NewWord.application<span style="white-space:pre"></span>With wrdApp<span style="white-space:pre"></span> .visible = true<span style="white-space:pre"></span> .Documents.Add   '创建文档<span style="white-space:pre"></span> .ActiveDocument.Content.text = “Hi”  '在word文档中放置文本 <span style="white-space:pre"></span>.ActiveDocument.Content.text = “nihao” <span style="white-space:pre"></span>wrdApp.ActiveDocument.close  '关闭当前文档</span><h1><span style="font-size:14px;"><span style="white-space:pre"></span>wrdApp.quit  '关闭应用程序</span></h1><span style="font-size:14px;"> <span style="white-space:pre"></span>set xlsApp =nothing<span style="white-space:pre"></span>set wrdApp =nothing</span>
<span style="font-size:14px;">end sub</span>

 2、VBA

        除了execl和word,office中的PowerPoint,Access,Outlook以及Project都可以实现和vb的交互,但这一切都基于vb的一种宏语言VBA


       宏语言即VISUALBASIC FOR APPLICATION,简称 VBA,是新一代 MICROSOFT WINDOWS 应用软件通用的宏控制语言,它与 VB既有区别,又有联系,VB是开发WINDOWS应用程序的程序语言,是一种面向对象的程序设计语言,VBA是VB的一个子集,它更为强调的是对OFFICE软件(Excel、access、word等)各类功能的一种控制,除此之外,它还能通过记录宏,直接生成宏程序代码,当然,VBA也具备同VB一样的程序语言基本结构。


        Visual Basic 的应用程序版(VBA)是Microsoft公司长期追求的目标,使可编程应用软件得到完美的实现,它作为一种通用的宏语言可被所有的Microsoft 可编程应用软件所共享。在没有VBA 以前,一些应用软件如Excel、Word、Access、Project 等都采用自己的宏语言供用户开发使用,但每种宏语言都是独立的,需要用户专门去学习,它们之间互不兼容,使得应用软件之间不能在程序上互联。有了VBA 以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力。

        确切地讲,VBA是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.比如V对于Excel而言,BA可以称作EXCEL的“遥控器”.

0 0
原创粉丝点击