vb 操作excel(持续更新)

    Dim xlApp As Object
    Dim xlRefBook As Object         '原EXCEL
    Dim xlRefSheet As Object        '原EXCEL SHEET
   
    Dim xlNewBook As Object         '新建EXCEL
    Dim xlNewSheet As Object        '新建EXCEL SHEET
   
    Set xlApp = CreateObject("Excel.Application")       '创建EXCEL应用类
    Set xlRefBook = xlApp.Workbooks.Open("F:/Visual Studio 6.0 test-code/my_test/my_vb_test_001/test.xls")  '打开EXCEL工作簿
    Set xlRefSheet = xlRefBook.Worksheets("TEST")
   
    Set xlNewBook = xlApp.Workbooks.Add                 '增加一个工作薄
    xlRefSheet.Copy After:=xlNewBook.Worksheets(xlNewBook.sheets.Count)     '复制原sheet至新workbook中 复制至sheet最后
    Set xlNewSheet = xlNewBook.Worksheets("TEST")       '设置新sheet
   
    xlNewSheet.Activate                                 '激活工作表

 

    
    
    xlsheet.Cells(1, 1) = "12345678"                '给单元格第1行第1列赋值

    xlsheet.range("A7").Value = "777"              ‘给单元格A7赋值

 

    xlNewSheet.range(xlNewSheet.Cells(1, 1), xlNewSheet.Cells(2, 2)).merge      '合并 单元格

    xlNewSheet.range("A13:Q13").MergeCells = True                                  '合并A13到Q13单元格

    range("A13").MergeArea.MergeCells                                   '判断单元格是否是 合并单元格

    range("A13").MergeArea.Address                                        '取得合并单元格的范围

 

    xlNewSheet.range("D1").Borders.LineStyle = 1                                 '设置边框 range(cells(1,1),cells(1,2))

 

    xlNewSheet.range(xlNewSheet.Cells(1, 1), xlNewSheet.Cells(2, 2)).HorizontalAlignment = 3        '单元格水平对齐 1:左 2:右 3:中
    'xlnewsheet.cells(1,1).HorizontalAlignment = 3   '效果同上
    xlNewSheet.range(xlNewSheet.Cells(1, 1), xlNewSheet.Cells(2, 2)).VerticalAlignment = 2          '单元格垂直对齐 1:上 2:中 3:下
    'xlnewsheet.cells(1,1).VerticalAlignment = 2    '效果同上

 

 

    With xlNewSheet
        .Cells(3, 1) = "AAA"
        .Cells(3, 1).Font.Bold = True           '设置粗体
        .Cells(3, 1).Interior.ColorIndex = 6    '设置单元格颜色 (2是白色,3是红色,4是绿色,6是黄色)
   
        .Cells(3, 2).NumberFormatLocal = "@"    '设置格式为文本
        .Cells(3, 2) = "2009年08月"
       
        .Cells(3, 2).borders.LineStyle = 1      '设置边框线条的类型  borders(i) 1:左边框 2:右边框 3:上边框 4:下边框 5:斜 6:斜 不设置:全边框
                                                                    'LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线
                                               
        .Cells(3, 2).borders.Weight = 3         '设置 单元格边框宽度
       
        .Cells(3, 2).ColumnWidth = 15           '设置 单元格宽度
                                                'EXCEL不能设定某个单元格宽度,只能设定单元格所在列的宽度。
                                                '选中要修改的单元格(或同一列中的其他单元格)然后用ColumnWidth设定宽度
        .Cells(3, 2).EntireColumn.AutoFit       '设置 整列单元格自适应宽度
       

       xlApp.run "宏名","参数","参数"       '运行宏

           如要使 excel运行宏  需设置   安全性为中  = >  工具>宏>安全性

           vb中运行宏 原(模板)book 不能关闭

           使用其他excel的宏 方法为  xlApp.run "exce文件名.xls!宏名","参数","参数"

 

 

   数据组合(数据分级显示): Group

         Excel : 数据>组及分级显示>组合

         vb:

                行组合:

                           xlNewSheet.range("3:5").Group  =>  组合 3行到5行

                           xlNewSheet.Rows("3:5").Group => 同上

                列组合:

                           xlNewSheet.Columns("A:C").Group => 组合 A列到C列

                           xlNewSheet.range(.cells(,1),.cells(,3)).Group =>同上           

          vb 操作 数据组合的显示方式:

               xlNewSheet.Outline.showLevels RowLevels/ColumnLevels:=1 数据组合边上显示的 1  一般为关闭组合(视情况而定)

               xlNewSheet.Outline.showLevels RowLevels/ColumnLevels:=2 数据组合边上显示的 2  一般为打开组合(视情况而定)

 

 

       xlNewSheet.Activecell.Address  '取得单元格的位置(row,column)

             xlNewSheet.cells(1,1).Address => ($A$1)=>A1单元格

        

             xlNewSheet.cells(1,1).row=> 1

 

             xlNewSheet.cells(1,1).column=>1

 

 

          xlNewSheet.cells(1,1).NumberFormatLocal = "@ "  '定义单元格为 user定义(字符型)

   

          xlNewSheet.cells(1,1).NumberFormatLocal = "yyyymmdd"  '定义为 年月日(user定义)

 

       xlNewSheet.cells(1,1).NumberFormatLocat = "#,###"  '定义为 (user定义) 逗号分隔 小数位数0

       输入0时 会变为空

       

       xlNewSheet.cells(1,1).NumberFormatLocat = "#,##0_"  '定义为 数值型 逗号分隔 小数位数0 (录制宏 实验可得出其他)

       输入0是 不会为空

 


    End With

 xlapp.Visible = True '设置EXCEL对象可见(或不可见)


    xlNewBook .SaveAs ("D:/123.xls")
    xlRefBook .Close (True)                                   '关闭EXCEL工作簿
    xlApp.Quit                                                   '关闭EXCEL

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值