Название: Работа с Excel в delphi
Отправлено: Anarchy от 05 Июнь 2007, 17:55:21
Есть Excel-евский файл с картинками. Надо эти картинки сохранить в файлы, к примеру 1.jpeg, 2.jpeg и т.д. Помогите!!!
Название: Re: Работа с Excel в delphi
Отправлено: Anarchy от 06 Июнь 2007, 11:55:01
[size=12]Уже нашел...[/size] const lcid = LOCALE_USER_DEFAULT; var XLApp: TExcelApplication; MySheet: TExcelWorksheet; MyShape: ExcelXP.Shape; img:TJPEGImage; bmp:TBitmap; begin if OpenDialog1.Execute then begin img:=TJPEGImage.Create; bmp:=TBitmap.Create; XLApp := TExcelApplication.Create(Self); MySheet := TExcelWorksheet.Create(Self); try XLApp.Connect; XLApp.Visible[lcid] := True; MySheet.ConnectTo(XLApp.Workbooks.Open(OpenDialog1.FileName, false,false,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, true, lcid).ActiveSheet as _Worksheet); MySheet.ConnectTo(XLApp.ActiveSheet as _Worksheet); CreateDir(OpenDialog1.InitialDir+'Image'); if MySheet.Shapes.Count > 0 then begin for i := 1 to MySheet.Shapes.Count do begin MySheet.Shapes.Item(i).CopyPicture(xlScreen,xlBitmap); bmp.LoadFromClipboardFormat(CF_BITMAP,ClipBoard.GetAsHandle(cf_Bitmap), 0); img.Assign(bmp); img.SaveToFile(OpenDialog1.InitialDir+'image\'+inttostr(i)+'.jpg'); end; // for i end; // if MySheet.Shapes.Count > 0 finally XLApp.UserControl := True; MySheet.Free; XLApp.Free; img.Free; bmp.Free; end; end; // if OpenDialog1.Execute
|