zoukankan      html  css  js  c++  java
  • vb.net向Excel中写入值

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

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

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

      避免和程序的控制脱节。

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

    Sub auto_open()  'Excel启动时会自动运行这个宏
    Open "d: empexcel.bz" For Output As #1 '写标志文件
    Close #1
    End Sub
    Sub auto_close()  ''Excel关闭时会自动运行这个宏
    Kill "d: empexcel.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: empexcel.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: empexcel.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。

  • 相关阅读:
    ArcMap+ArcCatalog手工新建点层及添加数据
    zedGraph 图表控件总结(一)
    Android 开发学习笔记(五)—— 最简单的注册界面
    repeater实现删除按钮
    repeater分页实例
    FCKeditor的使用说明
    javascript:void(0)是什么意思
    为asp.net控件点击事件添加Confirm()
    LINQ判断素数
    U盘文件不能删除,怎么处理
  • 原文地址:https://www.cnblogs.com/wangxiaoyang/p/3613877.html
Copyright © 2011-2022 走看看