`

实现VB与EXCEL的无缝连接

阅读更多

一、 VB读写EXCEL表:

  VB本身提自动化功能可以读写EXCEL表,其方法如下:

  1、在工程中引用Microsoft Excel类型库:

  从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。

  2、在通用对象的声明过程中定义EXCEL对象:

Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet


  3、在程序中操作EXCEL表常用命令:

Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表
xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值
xlSheet.PrintOut '打印工作表
xlBook.Close (True) '关闭工作簿
xlApp.Quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象
xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏


  4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。

  二、 EXCEL的宏功能:

  EXCEL提供一个Visual Basic编辑器,打开Visual Basic编辑器,其中有一工程属性窗口,点击右键菜单的"插入模块",则增加一个"模块1",在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,EXCEL有两个自动宏:一个是启动宏(Sub Auto_Open()),另一个是关闭宏(Sub Auto_Close())。它们的特性是:当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacros (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 来运行启动宏和关闭宏。

  三、 VB与EXCEL的相互勾通:

  充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:

  在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。

  四、举例:

  1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序:

Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlsheet As Excel.Worksheet '定义工作表类

Private Sub Command1_Click() '打开EXCEL过程
 If Dir("D:/temp/excel.bz") = "" Then '判断EXCEL是否打开
  Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
  xlApp.Visible = True '设置EXCEL可见
  Set xlBook = xlApp.Workbooks.Open("D:/temp/bb.xls") '打开EXCEL工作簿
  Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
  xlsheet.Activate '激活工作表
  xlsheet.Cells(1, 1) = "abc" '给单元格1行驶列赋值
  xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL中的启动宏
 Else
  MsgBox ("EXCEL已打开")
 End If
End Sub

Private Sub Command2_Click()
 If Dir("D:/temp/excel.bz") <> "" Then '由VB关闭EXCEL
  xlBook.RunAutoMacros (xlAutoClose) '执行EXCEL关闭宏
  xlBook.Close (True) '关闭EXCEL工作簿 
  xlApp.Quit '关闭EXCEL
 End If
 Set xlApp = Nothing '释放EXCEL对象
 End
End Sub

  2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"bb.xls"的EXCEL文件。

  3、在"bb.xls"中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:

Sub auto_open()
 Open "d:/temp/excel.bz" For Output As #1 '写标志文件
 Close #1
End Sub
Sub auto_close()
 Kill "d:/temp/excel.bz" '删除标志文件
End Sub

  4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。这样就实现了VB与EXCEL的无缝连接。

分享到:
评论

相关推荐

    如何实现VB与EXCEL的无缝连接

    如何实现VB与EXCEL的无缝连接,如何实现VB与EXCEL的无缝连接

    vb编程DDE通信实现vb与excel的无缝连接

    本主题将深入探讨如何利用VB和DDE来实现VB界面与Excel之间的无缝连接,从而增强应用的功能和交互性。 **DDE通信的基本原理** DDE是一个基于Windows的消息传递系统,它允许两个或更多的应用程序之间交换数据和控制...

    vb和excel无缝连接

    标题“vb和excel无缝连接”以及描述中提到的是如何使用Visual Basic (VB)编程语言与Microsoft Excel进行交互,实现对Excel文件的操作。以下是对这些知识点的详细解释: 1. **VB 读写 Excel 表**: - **引用 Excel ...

    vb操作EXCEL

    应用:首先VB应该引用EXCEL类型,然后在EXCEL之VB中建立类模块,然后在类模块中输入如下程序,并储存,以便实现VB与EXCEL无缝连接。 Sub auto_open() Open "E:\temp\el.bz" For Output As #1 Close #1 End Sub ...

    vb与excel的无缝链接

    ### vb与excel的无缝链接 在信息技术领域,Visual Basic(简称VB)作为一种广泛使用的应用程序开发工具,被众多开发者青睐。然而,在处理复杂的数据报表时,VB的报表功能相对有限,并且一旦报表格式发生变化,就...

    VB与EXCEL的无缝连接

    将VB与Excel无缝连接,可以极大地提升数据处理效率,实现自动化的工作流程。本文将深入探讨如何利用VB与Excel的API(应用程序接口)进行交互,创建自定义功能,以及实现自动化操作。 1. **VB与Excel的连接基础** ...

    VB和EXCEL的完全无缝连接和EXCEL的定时功能

    "VB和EXCEL的完全无缝连接"指的是通过VB编程来控制和操作Excel,实现数据处理和分析的高效集成。这种无缝连接允许开发者创建自定义的Excel工作簿和工作表,执行复杂的计算,甚至自动化日常任务。 VB是Microsoft ...

    vb与excel的无缝连接的实现

    VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用...但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题

    VB中Access与Excel的无缝连接

    ### VB中Access与Excel的无缝连接 #### 一、引言 在软件开发领域,特别是桌面应用程序开发中,经常需要处理各种数据来源。Visual Basic (VB) 作为一种广泛使用的编程语言,提供了丰富的功能来实现这一目标。然而,...

    VB与excel连接的操作系统

    标题“VB与Excel连接的操作系统”所涉及的知识点主要包括以下几个方面: 1. **对象模型**:在VB中,Excel被看作是一个对象,可以通过Excel对象模型来访问和控制Excel应用程序。VB通过COM(组件对象模型)接口与...

    VB与EXCEL的结合

    通过上述步骤,可以有效地实现VB与Excel的无缝连接,从而充分发挥Excel强大的报表功能,提高数据处理的效率和灵活性。这种方法特别适用于需要处理大量数据并生成复杂报表的应用场景,有助于减少开发和维护成本,提高...

    VB如何操作EXCEL

    本篇文章将探讨如何实现VB与Excel的无缝连接,包括自动创建文件夹和文件,以及利用VB来读写Excel表格。 首先,我们来看如何在VB中自动创建以日期命名的文件夹并在文件夹中创建以时间命名的文档。以下代码演示了这个...

    VB和Excel在数据采集系统中的应用.pdf

    为了实现VB与Excel之间的无缝连接,需要进行以下步骤: 1. **引用Microsoft Excel类型库**:首先,需要从工程菜单中选择“引用”选项,然后选择“Microsoft Excel 11.0 Object Library”(如果是Excel 2003版本),...

    vb调用excel的方法

    描述:"是关于实现VB与EXCEL的无缝连接的应用!" 在信息技术领域,尤其是软件开发中,将不同应用程序之间进行高效、无缝的数据交换和功能集成是一项重要的技能。对于Visual Basic(简称VB)和Microsoft Excel这两款...

    VB导入EXCEL至SQL

    这个"VB导入EXCEL至SQL"的程序解决了这个问题,它允许用户通过Visual Basic (VB)脚本来批量将Excel数据无缝迁移至SQL Server。下面我们将深入探讨这个过程涉及的关键知识点。 1. **Visual Basic (VB)**:VB是...

    WinCC Communication with Excel VB Via DDE.zip

    总之,WinCC与Excel通过VB和DDE的通信,实现了HMI系统与数据管理工具的无缝集成,极大地提高了数据处理效率和自动化水平。熟练掌握这一技术,对于提升工业自动化系统的效能和智能化程度具有重要意义。在实际操作中,...

Global site tag (gtag.js) - Google Analytics