Delphi通过VBA操作Excel的两个问题:
1. 通过Excel的列名得到对应的列数。例如:A列是第1列,Z列是第26列,AA列是第27列。
不必做复杂的算法,因为有现成的属性,如下:
ColumnNum:= WorkSheet.Cells[1, 'A'].Column;
ColumnNum:= WorkSheet.Cells[1, 'Z'].Column;
ColumnNum:= WorkSheet.Cells[1, 'AA'].Column;
ColumnNum:= WorkSheet.Cells[1, 'AB'].Column;
2. 对已经存在Excel文件修改后保存时,会弹出一个询问对话框:
---------------------------
在当前位置发现已经存在名为“RESUME.XLW” 的文件。您希望将该文件替换掉吗?
---------------------------
在保存前设置DisplayAlerts属性,即可屏蔽该对话框。如下所示:
WorkBook.DisplayAlerts:=False;
WorkBook.Save();
或
ExcelApp.DisplayAlerts:=False;
// ExcelApp.DisplayAlerts[1]:=False;
ExcelApp.Save();
By JRQ
2008/01/09 于京
补记:
RESUME.XLW文件在当前用户的“My Documents”文件夹中可找到。
2008/01/15