博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vb.net向Excel中写入值
阅读量:5101 次
发布时间:2019-06-13

本文共 1995 字,大约阅读时间需要 6 分钟。

根据网上例子结合自己的工具环境修改后测试可以通过

我使用的工具:Microsoft Visual Studio 2010,Excel 2007

一、在D盘新建一个temp文件夹用于存放Excel启动时写入标志,关闭时删除标志,vb.net程序会去查询该标志来知道Excel是否被人为打开或关闭了。

  避免和程序的控制脱节。

二、在D盘根目录创建一个Excel,按Alt+F11打开代码编辑窗口,插入一个模块,填入如下代码:

Sub auto_open()  'Excel启动时会自动运行这个宏

Open "d:\temp\excel.bz" For Output As #1 '写标志文件
Close #1
End Sub
Sub auto_close()  ''Excel关闭时会自动运行这个宏
Kill "d:\temp\excel.bz" '删除标志文件
End Sub

然后另存为带宏的Excel,存在D盘根目录,命名为xiao。之后可以看到D盘有一个xiao.xlsm文件,图标上会有一个感叹号,表示是带宏的Excel。

三、打开Microsoft Visual Studio 2010,新建一个Windows窗体应用程序,工程名命名任意。在默认的From1上拖进两个Button,Text属性设置为open,close。右击工程添加引用,选择COM下的Microsoft Excel 12.0 Object Library组件,并插入如下代码:

Imports Microsoft.Office.Interop

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

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

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

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        If Dir("D:\temp\excel.bz") <> "" Then '由VB关闭EXCEL   
            xlApp.Application.DisplayAlerts = False '关闭EXCEL的警告提示,不然用程序关闭时会有警报提示,还要手动去确定。
            xlBook.RunAutoMacros(Excel.XlRunAutoMacro.xlAutoClose) '执行EXCEL关闭宏 
            xlBook.Close(True) '关闭EXCEL工作簿 
            xlApp.Quit() '关闭EXCEL 
        End If
        xlApp = Nothing '释放EXCEL对象 
        End
    End Sub
End Class

四、按F5执行程序,点open控件可以看到Excel被打开第一个格子里被写入abc。点击close关闭Excel。

转载于:https://www.cnblogs.com/wangxiaoyang/p/3613877.html

你可能感兴趣的文章
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>
面向对象的小demo
查看>>