基本操作:
Ole_object.Workbooks.add//新建一个Excel文件
Ole_object.Workbooks.Open("FileName")//打开一个已存在Excel文件
Ole_object.ActiveWorkBook.Sheets("SheetName").Select//选择文件中一个工作表
Ole_object.Application.Run("MacroName")//运行宏
Ole_object.Application.Visible=TRUE//Excel文件可见
Ole_object.Application.ScreenUpdating=true//设置可见属性
②格式设置
Ole_object.ActiveSheet.Columns("A:U").AutoFit//列宽自动调整
Ole_object.ActiveSheet.Columns("A:Z").ColumnWidth=6.75//列宽
Ole_object.ActiveSheet.Rows("1:100").RowHeight=12//行高
Ole_object.Application.StandardFont="ArialNarrow";//设置字体
Ole_object.Application.StandardFontSize="8"//设置字号
Ole_object.ActiveSheet.Font.Size="8"//设置字号
Ole_object.ActiveSheet.Font.Bold=True//粗体
Ole_object.ActiveSheet.Font.Italic=True//斜体
Ole_object.ActiveSheet.Font.Underline=True//下划线
Ole_object.ActiveSheet.Font.StrikeThrough=True//删除线
Ole_object.ActiveSheet.HorizontalAlignment=3//水平:4靠右;3居中;2靠左
Ole_object.ActiveSheet.VerticalAlignment=2//垂直:3靠下;2居中;1靠上
Ole_object.ActiveSheet.cells(2,1).font.name=’黑体’//设置字体
Ole_object.ActiveSheet.cells(2,1).font.size=25//设置字体大小
③工作区域操作:
Ole_object.ActiveSheet.Range("A1:Z10").Property=value//设置一个工作区域内的属性值
Ole_object.ActiveSheet.Range("A1:Z10").Merge//合并单元格
Ole_object.ActiveSheet.Range("A1:Z10").WrapText=False//自动换行禁止
Ole_object.ActiveSheet.Range("A1:Z10").Borders(b_type).Weight=i_val//b_type:1左边界;2右边界;3上边界;4下边界;5左上倾斜;6右上倾斜(以上为对单元格的操作)7左边界;8上边界;9下边界;10右边界;11内部垂直边界;12内部水平边界(以上为对区域的操作)//i_val:0无边界线;然后1,2,3。。。依次边界线加粗
Ole_object.ActiveSheet.Range("A1:Z10").Borders(b_type).linestyle=1//1与7—细实、2—细虚、4—点虚、9—双细实线
④赋值操作
Ole_object.ActiveSheet.range("A1:Z10").Cells.value=“姓名”
Ole_object.ActiveSheet.range("A1:Z10").Cells.value=1
Ole_object.ActiveSheet.range("A1:Z10").Cells.value=“2003-01-01”
Ole_object.ActiveSheet.Range("A1:Z10").Cells(1,2).value=“年龄”//区域内一个单元格的赋值
Ole_object.ActiveSheet.Range("A1:Z1").Cells(1,1).value=“SUM(RC[-9]:RC[-1])”
方法2
OleObject Loo_Excel
Loo_Excel=create oleobject
if Loo_Excel.ConnectToNewObject("Excel.Application") <> 0 then
messagebox('提示','系統未安裝Excel,無法運行此操作!')
return
end if
Loo_Excel.Application.Workbooks.Add()
Loo_Excel.Application.Workbooks(1).worksheets(1)
Loo_Excel.Application.Visible = True
Loo_Excel.Application.ScreenUpdating = false
//'正在處理表頭......'
Loo_Excel.Range("A1:AB1").Select
Loo_Excel.Selection.MergeCells = True
Loo_Excel.Selection.HorizontalAlignment = 3
Loo_Excel.Selection.VerticalAlignment = 3
Loo_Excel.Selection.Font.Bold = True
Loo_Excel.Selection.Font.Size = 14
Loo_Excel.Selection.RowHeight = 28.50
Loo_Excel.ActiveCell.FormulaR1C1 = dw_3.describe("ls_title"+".text")
///写标头
Loo_Excel.application.workbooks(1).worksheets(1).cells(3, 1 ).value = "排單號碼"
// dw_2.describe("po_no"+".name"+"_t.text")
Loo_Excel.application.workbooks(1).worksheets(1).cells(3, 2 ).value = "客人款號"
Loo_Excel.application.workbooks(1).worksheets(1).cells(3, 3 ).value = dw_2.describe("cust_nam_t.text")
///内容
for i=1 to dw_2.rowcount()
Loo_Excel.application.workbooks(1).worksheets(1).cells(3+i, 1).value = string( dw_2.object.po_no[i] )
next
Loo_Excel.application.ActiveWorkbook.SaveAs(ls_filename)
Loo_Excel.Application.ScreenUpdating = True
//加一行退出
loo_Excel.quit
Loo_Excel.DisconnectObject()
destroy loo_Excel
上面的处理方法中可能会遇到datetime类型的导出到excel后出现乱玛,我的做法是: 在visible里面写代码判断其中为空的不显示,如果日期时间值为空,肯定=1900-01-01
// 增加一个excel文件于内存中
xlapp.Application.Workbooks.add()
//新增活动工作簿的
xlapp.Application.Workbooks(1).sheets.add()
//取得刚添加的工作簿的引用
xlsub = xlapp.Application.Workbooks(1).worksheets(1)
//工作簿命名
xlsub.Name = '名字'
如果要多个sheet,多次xlapp.Application.Workbooks(1).sheets.add() ,新增的总是sheet(1)
电子表格 VBA,如何用代码给单元格设置颜色?
Cells(1, 1).Font.ColorIndex = 3 '字的颜色号为3 红色
Cells(1, 1).Interior.ColorIndex = 3 ' 背景的颜色为3 红色
Cells(2, 1).Font.Color = RGB(0, 255, 0) '字的颜色绿色
Cells(2, 1).Interior.Color = RGB(0, 0, 255) '背景的颜色蓝色
range("a1").interior.colorindex=1