VB操作Excel
在工程中添加引用:Microsoft Office 9.0 Object Library
Microsoft Excel 9.0 Object Library (Excel 2000)
新建一个Excel
Set xlApp = New Excel.Application
打开已有Excle
Set xlApp = Nothing
- Dim i1 As Integer, intCol As Integer, intRow As Integer
- Dim xlApp As New Excel.Application
- Dim xlBook As New Excel.Workbook
- Dim xlSheet As New Excel.Worksheet
- Dim strName As String, strArray1() As String
- Dim strS1 As String
- Dim strD1 As String
- strS1 = CurrentProject.Path + "\template.xls"
- strD1 = CurrentProject.Path + "\" + CStr(Format(Now, "YYYYMMDDHHMMSS")) + "aaa1.xls"
- Set xlApp = CreateObject("Excel.Application")
- xlApp.Visible = False
- With xlSheet
- .Range("F6").Value = strTmp1(1)
- .Range("H6").Value = strTmp1(2)
- .Range("F7").Value = CStr(Date)
- .Range("E10").Value = strTmp1(9)
- .Range("A15").Value = "To: " + strTmp1(8)
- .Range("B26").Value = strTmp1(4) + "PACKAGES"
- .Range("B27").Value = strTmp1(5) + "KGS"
- .Range("B28").Value = strTmp1(6) + "KGS"
- .Range("B29").Value = strTmp1(7) + "M3"
- End With
- 首先创建Excel对象,使用ComObj:
- Dim ExcelID as Excel.Application
- Set ExcelID as new Excel.Application
- 1)显示当前窗口:
- ExcelID.Visible:=True;
- 2)更改Excel标题栏:
- ExcelID.Caption:='应用程序调用MicrosoftExcel';
- 3)添加新工作簿:
- ExcelID.WorkBooks.Add;
- 4)打开已存在的工作簿:
- ExcelID.WorkBooks.Open('C:\Excel\Demo.xls');
- 5)设置第2个工作表为活动工作表:
- ExcelID.WorkSheets[2].Activate;
- 或ExcelID.WorkSheets['Sheet2'].Activate;
- 6)给单元格赋值:
- ExcelID.Cells[1,4].Value:='第一行第四列';
- 7)设置指定列的宽度(单位:字符个数),以第一列为例:
- ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;
- 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
- ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米
- 9)在第8行之前插入分页符:
- ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;
- 10)在第8列之前删除分页符:
- ExcelID.ActiveSheet.Columns[4].PageBreak:=0;
- 11)指定边框线宽度:
- ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;
- 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/)
- 12)清除第一行第四列单元格公式:
- ExcelID.ActiveSheet.Cells[1,4].ClearContents;
- 13)设置第一行字体属性:
- ExcelID.ActiveSheet.Rows[1].Font.Name:='隶书';
- ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue;
- ExcelID.ActiveSheet.Rows[1].Font.Bold :=True;
- ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;
- 14)进行页面设置:
- a.页眉:
- ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示';
- b.页脚:
- ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';
- c.页眉到顶端边距2cm:
- ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;
- d.页脚到底端边距3cm:
- ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;
- e.顶边距2cm:
- ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;
- f.底边距2cm:
- ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;
- g.左边距2cm:
- ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;
- h.右边距2cm:
- ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;
- i.页面水平居中:
- ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;
- j.页面垂直居中:
- ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;
- k.打印单元格网线:
- ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;
- 15)拷贝操作:
- a.拷贝整个工作表:
- ExcelID.ActiveSheet.Used.Range.Copy;
- b.拷贝指定区域:
- ExcelID.ActiveSheet.Range['A1:E2'].Copy;
- c.从A1位置开始粘贴:
- ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;
- d.从文件尾部开始粘贴:
- ExcelID.ActiveSheet.Range.PasteSpecial;
- 16)插入一行或一列:
- a.ExcelID.ActiveSheet.Rows[2].Insert;
- b.ExcelID.ActiveSheet.Columns[1].Insert;
- 17)删除一行或一列:
- a.ExcelID.ActiveSheet.Rows[2].Delete;
- b.ExcelID.ActiveSheet.Columns[1].Delete;
- 18)打印预览工作表:
- ExcelID.ActiveSheet.PrintPreview;
- 19)打印输出工作表:
- ExcelID.ActiveSheet.PrintOut;
- 20)工作表保存:
- IfnotExcelID.ActiveWorkBook.Savedthen
- ExcelID.ActiveSheet.PrintPreview
- Endif
- 21)工作表另存为:
- ExcelID.SaveAs('C:\Excel\Demo1.xls');
- 22)放弃存盘:
- ExcelID.ActiveWorkBook.Saved:=True;
- 23)关闭工作簿:
- ExcelID.WorkBooks.Close;
- 24)退出Excel:
- ExcelID.Quit;
- 25)设置工作表密码:
- ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True
- 26)EXCEL的显示方式为最大化
- ExcelID.Application.WindowState=xlMaximized
- 27)工作薄显示方式为最大化
- ExcelID.ActiveWindow.WindowState=xlMaximized
- 28)设置打开默认工作薄数量
- ExcelID.SheetsInNewWorkbook=3
- 29)'关闭时是否提示保存(true保存;false不保存)
- ExcelID.DisplayAlerts=False
- 30)设置拆分窗口,及固定行位置
- ExcelID.ActiveWindow.SplitRow=1
- ExcelID.ActiveWindow.FreezePanes=True
- 31)设置打印时固定打印内容
- ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"
- 32)设置打印标题
- ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""
- 33)设置显示方式(分页方式显示)
- ExcelID.ActiveWindow.View=xlPageBreakPreview
- 34)设置显示比例
- ExcelID.ActiveWindow.Zoom=100
- 35)让Excel响应DDE请求
- Ex.Application.IgnoreRemoteRequests=False
- objExl.Rows("1:1").Select '选中第一行
- objExl.Selection.Font.Bold = True '设为粗体
- objExl.Selection.Font.Size = 24 '设置字体大小
- objExl.Cells.EntireColumn.AutoFit '自动调整列宽
- objExl.ActiveWindow.SplitRow = 1 '拆分第一行
- objExl.ActiveWindow.SplitColumn = 0 '拆分列
- objExl.ActiveWindow.FreezePanes = True '固定拆分
- objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" '设置打印固定行
- objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" '打印标题
- objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _
- Format(Now, "yyyy年mm月dd日 hh:MM:ss")
- objExl.ActiveWindow.View = xlPageBreakPreview '设置显示方式
- objExl.ActiveWindow.Zoom = 100 '设置显示大小
- '给工作表加密码
- objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _
- Contents:=True, Scenarios:=True
- objExl.Application.IgnoreRemoteRequests = False
- objExl.Visible = True '使EXCEL可见
- objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化
- objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化
- objExl.SheetsInNewWorkbook = 3 '将默认新工作薄数量改回3个
- Set objExl = Nothing '清除对象
- Me.MousePointer = 0 '修改鼠标
- objExl.SheetsInNewWorkbook = 3
- objExl.DisplayAlerts = False '关闭时不提示保存
- objExl.Quit '关闭EXCEL
- objExl.DisplayAlerts = True '关闭时提示保存
- Set objExl = Nothing
VB操作Excel的更多相关文章
- VB操作EXCEL文件
用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...
- VB操作EXCEL文件大全
Private Sub writeToExcel(strTmp1() As String, colTmp1 As Collection)'' Dim tmp1 Dim i1 As Integer, i ...
- 用VB操作Excel的方法
VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...
- VB.NET操作Excel
VB.NET操作Excel的基本方法与例子:
- VB中Excel 2010的导入导出操作
VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...
- VS2010 C++ 操作Excel表格的编程实现
转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 通过VC实现对Excel表格的操作的方法有多种, ...
- vfp 操作excel
VFP全面控制EXCEL 收藏 VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作.比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功 ...
- 用DELPHI操作EXCEL Word
用DELPHI操作EXCEL 在DELPHI中显示EXCEL文件,可用以下简单代码做到.但要实用,则需进一步完善. var Form1: TForm1; EApp:variant;implemen ...
- 计算机管理系统——VB与Excel联系
今天爆震室管理系统--学生查看机器状态的时候发现有一个"导出到excel"的button.我去.感情还得跟excel表链接. 于是我咬碎了一地小银牙.一个下午都在查询vb与exce ...
随机推荐
- Qt之自定义控件(开关按钮)Qt之模拟时钟
http://blog.csdn.net/u011012932/article/details/52164289 http://blog.csdn.net/u011012932/article/det ...
- 跨域使用jsonp 获取天气预报
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> ...
- 让JAVA代码跑得更快
本文简单介绍一下在写代码过程中用到的一些让JAVA代码更高效的技巧. 1. 将一些系统资源放在池中(如数据库连接, 线程等) 在standalone的应用中, 数据库连接池可以使用一些开源的连接池 ...
- Android 签名(4)验证是否签名
判断Apk是否签名 用命令:jarsigner -verify XXX.apk 增加 -verbose -certs 两个选项可显示更多信息. 如果有Android Debug字樣就是debug 如 ...
- poj 2635 The Embarrassed Cryptographer(数论)
题目:http://poj.org/problem?id=2635 高精度求模 同余模定理. 题意: 给定一个大数K,K是两个大素数的乘积的值.再给定一个int内的数L 问这两个大素数中最小的一个是 ...
- [信息OJ 2467] Asakura的难题
2467: G Asakura的难题 Time Limit:2000MS Memory Limit:65536KB Description Asakura是班里有名的捣蛋鬼,所以经常有同学到老师那里 ...
- (转载)内联函数inline和宏定义
(转载)http://blog.csdn.net/chdhust/article/details/8036233 内联函数inline和宏定义 内联函数的优越性: 一:inline定义的类的内联函 ...
- GDI+ 学习记录(26): 显示图像 - Image
//显示图像 var g: TGPGraphics; img: TGPImage; begin g := TGPGraphics.Create(Self.Canvas.Handle); ...
- httpServer V1
package cn.edu.sss.httpServer; import java.io.BufferedReader; import java.io.IOException; import jav ...
- bzoj 3263 陌上花开(cdq分治,BIT)
[题意] 求满足Ai<=Aj,Bi<=Bj,Ci<=Cj的数对的数目. [思路] cdq分治 借网上一句话:第一维排序,第二维cdq分治,第三维树状数组维护. 首先合并三维都是相 ...