Use ComObj:
procedure TorderMore1.BitBtn2Click(Sender: TObject);
var
xlsFile:WideString;
var ExcelApp: Variant;
begin
SaveDialog1.FileName:= MyQuery3.FieldValues['orderno'] + '.xls';
if SaveDialog1.Execute then
begin
xlsFile:=ExtractFilePath(application.ExeName)+'xlsorder_detail.xls';
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.WorkBooks.Open(xlsFile);
ExcelApp.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
ExcelApp.Cells[2].Value := ExcelApp.Cells[2].Value + VarToStr(MyQuery3.FieldValues['orderno']);
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveWorkBook.Save;
ExcelApp.Visible := True;
//ExcelApp.ActiveWorkBook.Close;
//ExcelApp.Quit;
ExcelApp:=unassigned;
end;
end;
var
xlsFile:WideString;
var ExcelApp: Variant;
begin
SaveDialog1.FileName:= MyQuery3.FieldValues['orderno'] + '.xls';
if SaveDialog1.Execute then
begin
xlsFile:=ExtractFilePath(application.ExeName)+'xlsorder_detail.xls';
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.WorkBooks.Open(xlsFile);
ExcelApp.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
ExcelApp.Cells[2].Value := ExcelApp.Cells[2].Value + VarToStr(MyQuery3.FieldValues['orderno']);
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveWorkBook.Save;
ExcelApp.Visible := True;
//ExcelApp.ActiveWorkBook.Close;
//ExcelApp.Quit;
ExcelApp:=unassigned;
end;
end;
操作图片
ExcelApp.ActiveSheet.Pictures.Insert(tmpJpg).Select; //当前选择
ExcelApp.Selection.ShapeRange.IncrementLeft(1);//左移一空位 (Right)
ExcelApp.Selection.ShapeRange.IncrementTop(1);//上移一空位 (Bottom)
ExcelApp.Selection.ShapeRange.LockAspectRatio := True; //更改图片大小
ExcelApp.Selection.ShapeRange.Height := 58.5;
ExcelApp.Selection.ShapeRange.Width := 99.75;
ExcelApp.Selection.ShapeRange.Rotation := 0;
ExcelApp.ActiveSheet.Rows[Row].RowHeight := ExcelApp.Selection.ShapeRange.Height+2;//更改行距