- procedure TForm1.Button1Click(Sender: TObject);
- var
- eclApp,WorkBook:Variant;
- //声明为OLE Automation 对象
- xlsFileName:string;
- begin
- xlsFileName:=ExtractFilePath(Application.ExeName)+'zzdm.xls';
- try
- //创建OLE对象Excel Application与 WorkBook
- eclApp:=CreateOleObject('Excel.Application');
- WorkBook:=CreateOleobject('Excel.Sheet');
- except
- ShowMessage('您的机器里未安装Microsoft Excel。');
- Exit;
- end;
- try
- {
- ShowMessage('下面演示:新建一个XLS文件,并写入数据,最后关闭它。');
- workBook:=eclApp.workBooks.Add;
- eclApp.Cells(1 , 1):='字符型';
- eclApp.Cells(2 , 1):='Excel文件';
- eclApp.Cells(1 , 2):='Money型';
- eclApp.Cells(2 , 2):=10.01;
- eclApp.Cells(1 , 3):='日期型';eclApp.Cells(2 , 3):=Date;
- WorkBook.saveas(xlsFileName);
- WorkBook.close;
- }
- ShowMessage('下面演示:打开刚创建的XLS文件,并修改其中的内容,然后,由用户决定是否保存。');
- WorkBook:=eclApp.workBooks.Open(xlsFileName);
- eclApp.Cells(2 , 2):='Excel文件类型';
- eclApp.Cells(3 , 18):='√';
- if MessageDlg(xlsFileName+'文件已被修改,是否保存?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
- WorkBook.save
- else
- workBook.Saved := True; //放弃修改
- WorkBook.Close;
- eclApp.Quit;
- //退出Excel Application
- //释放VARIANT变量
- eclApp:=Unassigned;
- except
- ShowMessage('不能正确操作Excel文件。可能是该文件已被其他程序打开,或系统错误。');
- WorkBook.close;
- eclApp.Quit;
- //释放VARIANT变量
- eclApp:=Unassigned;
- end;
- end;
- end.
将 Sheet1 中单元格 C5 的字体大小设置为 14 磅。
Worksheets("Sheet1").Cells(5, 3).Font.Size = 14
清除 Sheet1 上第一个单元格的公式。
Worksheets("Sheet1").Cells(1).ClearContents
将 Sheet1 上所有单元格的字体设置为 8 磅的"Arial"字体。
With Worksheets("Sheet1").Cells.Font
.Name = "Arial"
.Size = 8
End With
在 Sheet1 上的单元格区域 A1:J4 中循环,将其中小于 0.001 的值替换为 0(零)。
- For rwIndex = 1 to 4
- For colIndex = 1 to 10
- With Worksheets("Sheet1").Cells(rwIndex, colIndex)
- If .value < .001 Then .value = 0
- End With
- Next colIndex
- Next rwIndex
将 Sheet1 上单元格区域 A1: C5 的字体样式设置为斜体。
Worksheets("Sheet1").Activate
Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True
搜索列"myRange"中的数据。如果发现某单元格的值与上面的一个单元格的值相等,则本示例将显示这个包含重复数据的单元格的地址。
- Set r = Range("myRange")
- For n = 1 To r.Rows.Count
- If r.Cells(n, 1) = r.Cells(n + 1, 1) Then
- MsgBox "Duplicate data in " & r.Cells(n + 1, 1).Address
- End If
- Next n
创建活动工作簿中自定义视图及其打印设置和行列设置列表。
- With Worksheets(1)
- .Cells(1,1).value = "Name"
- .Cells(1,2).value = "Print Settings"
- .Cells(1,3).value = "RowColSettings"
- rw = 0
- For Each v In ActiveWorkbook.CustomViews
- rw = rw + 1
- .Cells(rw, 1).value = v.Name
- .Cells(rw, 2).value = v.PrintSettings
- .Cells(rw, 3).value = v.RowColSettings
- Next
- End With
分别对 Sheet1 中的 A17 单元格、第一行和 C 列的数字格式进行设置。
- Worksheets("Sheet1").Range("A17").NumberFormat = "General"
- Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
- Worksheets("Sheet1").Columns("C"). _
- NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"