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

       

一、引用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 If
End 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 If
End 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的“遥控器”.

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子松的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值