VB操作Excel

在工程中添加引用:Microsoft Office 9.0 Object Library 
                   Microsoft Excel 9.0 Object Library      (Excel 2000)
                   

新建一个Excel

Dim xlApp As Excel.Application
Dim book As Excel.Workbook
Dim sheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlsheet = xlBook.Worksheets.Add
xlsheet.Cells(1, 1) = "测试" '写入内容
xlApp.Visible = True
xlBook.SaveAs ("F:\abc.xls") '保存内容
xlApp.Quit
Set xlApp = Nothing

打开已有Excle 
Dim xlApp As Excel.Application
Dim book As Excel.Workbook
Dim sheet As Excel.Worksheet
Set xlApp = CreateObject("excel.Application")
Set book = xlApp.Workbooks.Open("F:\abc.xls")
xlApp.Visible = True
Set xlsheet = book.Worksheets("Sheet4")
book.Close (True)
xlApp.Quit
Set xlApp = Nothing 


  1. Dim i1 As Integer, intCol As Integer, intRow As Integer  
  2.     Dim xlApp As New Excel.Application  
  3.     Dim xlBook As New Excel.Workbook  
  4.     Dim xlSheet As New Excel.Worksheet  
  5.     Dim strName As String, strArray1() As String  
  6.     Dim strS1 As String  
  7.     Dim strD1 As String 

  1. strS1 = CurrentProject.Path + "\template.xls"  
  2. strD1 = CurrentProject.Path + "\" + CStr(Format(Now, "YYYYMMDDHHMMSS")) + "aaa1.xls"  
  1.  Set xlApp = CreateObject("Excel.Application")  
  2.         xlApp.Visible = False  
  1. With xlSheet  
  2.         .Range("F6").Value = strTmp1(1)  
  3.         .Range("H6").Value = strTmp1(2)  
  4.         .Range("F7").Value = CStr(Date)  
  5.         .Range("E10").Value = strTmp1(9)  
  6.         .Range("A15").Value = "To: " + strTmp1(8)  
  7.         .Range("B26").Value = strTmp1(4) + "PACKAGES"  
  8.         .Range("B27").Value = strTmp1(5) + "KGS"  
  9.         .Range("B28").Value = strTmp1(6) + "KGS"  
  10.         .Range("B29").Value = strTmp1(7) + "M3"  
  11.     End With  




  1. 首先创建Excel对象,使用ComObj:  
  2. Dim ExcelID as Excel.Application  
  3. Set ExcelID as new Excel.Application  
  4.   
  5. 1)显示当前窗口:  
  6. ExcelID.Visible:=True;  
  7. 2)更改Excel标题栏:  
  8. ExcelID.Caption:='应用程序调用MicrosoftExcel';  
  9. 3)添加新工作簿:  
  10. ExcelID.WorkBooks.Add;  
  11. 4)打开已存在的工作簿:  
  12. ExcelID.WorkBooks.Open('C:\Excel\Demo.xls');  
  13. 5)设置第2个工作表为活动工作表:  
  14. ExcelID.WorkSheets[2].Activate;   
  15. 或ExcelID.WorkSheets['Sheet2'].Activate;  
  16. 6)给单元格赋值:  
  17. ExcelID.Cells[1,4].Value:='第一行第四列';  
  18. 7)设置指定列的宽度(单位:字符个数),以第一列为例:  
  19. ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;  
  20. 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:  
  21. ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米  
  22. 9)在第8行之前插入分页符:  
  23. ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;  
  24. 10)在第8列之前删除分页符:  
  25. ExcelID.ActiveSheet.Columns[4].PageBreak:=0;  
  26. 11)指定边框线宽度:  
  27. ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;  
  28. 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/)  
  29. 12)清除第一行第四列单元格公式:  
  30. ExcelID.ActiveSheet.Cells[1,4].ClearContents;  
  31. 13)设置第一行字体属性:  
  32. ExcelID.ActiveSheet.Rows[1].Font.Name:='隶书';  
  33. ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue;  
  34. ExcelID.ActiveSheet.Rows[1].Font.Bold :=True;  
  35. ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;  
  36. 14)进行页面设置:  
  37. a.页眉:  
  38. ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示';  
  39. b.页脚:  
  40. ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';  
  41. c.页眉到顶端边距2cm:  
  42. ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;  
  43. d.页脚到底端边距3cm:  
  44. ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;  
  45. e.顶边距2cm:  
  46. ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;  
  47. f.底边距2cm:  
  48. ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;  
  49. g.左边距2cm:  
  50. ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;  
  51. h.右边距2cm:  
  52. ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;  
  53. i.页面水平居中:  
  54. ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;  
  55. j.页面垂直居中:  
  56. ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;  
  57. k.打印单元格网线:  
  58. ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;  
  59. 15)拷贝操作:  
  60. a.拷贝整个工作表:  
  61. ExcelID.ActiveSheet.Used.Range.Copy;  
  62. b.拷贝指定区域:  
  63. ExcelID.ActiveSheet.Range['A1:E2'].Copy;  
  64. c.从A1位置开始粘贴:  
  65. ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;  
  66. d.从文件尾部开始粘贴:  
  67. ExcelID.ActiveSheet.Range.PasteSpecial;  
  68. 16)插入一行或一列:  
  69. a.ExcelID.ActiveSheet.Rows[2].Insert;  
  70. b.ExcelID.ActiveSheet.Columns[1].Insert;  
  71. 17)删除一行或一列:  
  72. a.ExcelID.ActiveSheet.Rows[2].Delete;  
  73. b.ExcelID.ActiveSheet.Columns[1].Delete;  
  74. 18)打印预览工作表:  
  75. ExcelID.ActiveSheet.PrintPreview;  
  76. 19)打印输出工作表:  
  77. ExcelID.ActiveSheet.PrintOut;  
  78. 20)工作表保存:  
  79. IfnotExcelID.ActiveWorkBook.Savedthen  
  80.     ExcelID.ActiveSheet.PrintPreview  
  81. Endif  
  82. 21)工作表另存为:  
  83. ExcelID.SaveAs('C:\Excel\Demo1.xls');  
  84. 22)放弃存盘:  
  85. ExcelID.ActiveWorkBook.Saved:=True;  
  86. 23)关闭工作簿:  
  87. ExcelID.WorkBooks.Close;  
  88. 24)退出Excel:  
  89. ExcelID.Quit;  
  90. 25)设置工作表密码:  
  91. ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True  
  92. 26)EXCEL的显示方式为最大化  
  93. ExcelID.Application.WindowState=xlMaximized   
  94. 27)工作薄显示方式为最大化  
  95. ExcelID.ActiveWindow.WindowState=xlMaximized   
  96. 28)设置打开默认工作薄数量  
  97. ExcelID.SheetsInNewWorkbook=3  
  98. 29)'关闭时是否提示保存(true保存;false不保存)  
  99. ExcelID.DisplayAlerts=False   
  100. 30)设置拆分窗口,及固定行位置  
  101. ExcelID.ActiveWindow.SplitRow=1  
  102. ExcelID.ActiveWindow.FreezePanes=True  
  103. 31)设置打印时固定打印内容  
  104. ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"   
  105. 32)设置打印标题  
  106. ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""  
  107. 33)设置显示方式(分页方式显示)  
  108. ExcelID.ActiveWindow.View=xlPageBreakPreview   
  109. 34)设置显示比例  
  110. ExcelID.ActiveWindow.Zoom=100   
  111. 35)让Excel响应DDE请求  
  112. Ex.Application.IgnoreRemoteRequests=False  

  1. objExl.Rows("1:1").Select         '选中第一行  
  2.     objExl.Selection.Font.Bold = True   '设为粗体  
  3.     objExl.Selection.Font.Size = 24     '设置字体大小  
  4.     objExl.Cells.EntireColumn.AutoFit  '自动调整列宽  
  5.     objExl.ActiveWindow.SplitRow = 1  '拆分第一行  
  6.     objExl.ActiveWindow.SplitColumn = 0   '拆分列  
  7.     objExl.ActiveWindow.FreezePanes = True   '固定拆分  
  8.     objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"  '设置打印固定行  
  9.     objExl.ActiveSheet.PageSetup.PrintTitleColumns = ""    '打印标题  
  10.     objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _  
  11.                                                Format(Now, "yyyy年mm月dd日 hh:MM:ss")  
  12.     objExl.ActiveWindow.View = xlPageBreakPreview    '设置显示方式  
  13.     objExl.ActiveWindow.Zoom = 100                 '设置显示大小  
  14.     '给工作表加密码  
  15.     objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _  
  16.                                Contents:=True, Scenarios:=True  
  17.     objExl.Application.IgnoreRemoteRequests = False  
  18.     objExl.Visible = True                       '使EXCEL可见  
  19.     objExl.Application.WindowState = xlMaximized    'EXCEL的显示方式为最大化  
  20.     objExl.ActiveWindow.WindowState = xlMaximized    '工作薄显示方式为最大化  
  21.     objExl.SheetsInNewWorkbook = 3           '将默认新工作薄数量改回3个  
  22.     Set objExl = Nothing    '清除对象  
  23.     Me.MousePointer = 0   '修改鼠标  

  1. objExl.SheetsInNewWorkbook = 3  
  2.     objExl.DisplayAlerts = False  '关闭时不提示保存  
  3.     objExl.Quit                '关闭EXCEL  
  4.     objExl.DisplayAlerts = True   '关闭时提示保存  
  5.     Set objExl = Nothing  

图片
posted @ 2016-01-21 16:54  SharpCJ  阅读(625)  评论(0编辑  收藏  举报