![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите пожалста больше немогу
vitaly27 © (2006-10-19 16:26:00)Ситуация такая, существует большое количество .OLE файлов(excel таблицы) нужно распечатать это дело из delphi.
с екселевским файлом пробовал все работает, ole не могу????
Заранее спасибо.
Наиль (2006-10-19 17:25:00) [1]
> vitaly27 (19.10.06 16:26)
Для начала тебе нужно уяснить, что OLE - это всегда данные + приложение-сервер (как правило, не твоё), которое умеет обрабатывать эти данные (в данном случае - печатать). Другими словами, не будет Excel'я - не будет будет работать OLE основаное на Excel. Если будешь печатать XLS-документы через Excel, получишь тот же результат. А если не видно разницы, то зачем платить больше? (с) Дося.
vitaly27 (2006-10-19 17:16:00) [2]ну значит непоможите
infom (2006-10-19 17:02:00) [3]2 vitaly27
Тебе просто надо из файла выгруженного из OLE с Excell'ем извлечь сами файлы с экселем. Я таким образом как-то извлекал рисунки из OLE поля в Access базе.
Отсекал сначала файла мета информацию и с конца. Вот код
AStream := TMemoryStream.Create;
BStream := TMemoryStream.Create;
for i:= 0 to ADOQuery.RecordCount -1 do
begin
AStream.Clear;
BStream.Clear;
ADOQueryImage.SaveToStream(AStream);
AStream.Position := 78;
BStream.CopyFrom(AStream, AStream.Size - 99);
BStream.SaveToFile(edCatalog.Text+ADOQueryindex.AsString+'.bmp');
ADOQuery.Next;
end;
Сергей М. (2006-10-19 16:56:00) [4]
> vitaly27 (19.10.06 16:49) [9]
> Из моей формы xls док-ты печатает нормально
Галиматья.
при чем здесь "форма" ? При чем здесь твоя она или не твоя ?
> я открываю
> > ole выдет ошибку
Значит файл с расширением *.ole , который ты пытаешься открыть, не содержит образ xls-документа в документированном Майкрософтом формате.
Сергей М. (2006-10-19 16:52:00) [5]
> vitaly27 (19.10.06 16:45) [8]
Ок.
Я запустил Ёхель97, бо под руекой оказался (чем он плох ?), выбрал меню "Open .."
Вылупился на явившийся мне список дифолтных расширений файлов, которые Ёхель якобы "понимает" - в упор не вижу никаких "объекты OLE" | *.ole"
Я заболел ?
> А.Я. Архангельский
Фтопку.
vitaly27 (2006-10-19 16:49:00) [6]procedure TForm1.BitBtn4Click(Sender: TObject);
var
ExcelApp: OLEVariant;
begin
ExcelApp :=CreateOleObject('excel.Application');
try
ExcelApp.Workbooks.Open('c:\mydoc.xls');
ExcelApp.ActiveSheet.PageSetup.Orientation := xlLandscape;
excelApp.Documents.Item.PrintOut
//ExcelApp.Worksheets.PrintOut;
finally
if not VarIsEmpty(ExcelApp) then
begin
ExcelApp.Quit;
ExcelApp := Unassigned;
end;
end;
Из моей формы xls док-ты печатает нормально а когда я открываю ole выдет ошибку.
vitaly27 (2006-10-19 16:45:00) [7]Установите в диалогах в свойстве Filter: "объекты OLE" | *.ole и все файлы |*.* и тд. Источник параграф 6.4 Внедрение и связывание объектов OLE;стр 420 'Програмирование в Delphi5 - А.Я. Архангельский'
Сергей М. (2006-10-19 16:42:00) [8]
> как его из дельфей распечатать?
Ты с дуба упал ?)
Печатью xls-документов заведует сам Excel. Ну и еще "прихлебатели" а-ля OpenOffice)
vitaly27 (2006-10-19 16:40:00) [9]Это я знаю ну а как его из дельфей распечатать?
Сергей М. (2006-10-19 16:40:00) [10]
> vitaly27 (19.10.06 16:36) [4]
> ole это расширение файлов
Оно откуда свалилось ?
Цитируй док-цию, где фигурирует именно это расширение именно для такого рода инф-ции ...
vitaly27 (2006-10-19 16:36:00) [11]ole это расширение файлов, в OLE контейнер можно поместить разного рода "объект" в данном случае excel
Сергей М. (2006-10-19 16:35:00) [12]
> vitaly27 (19.10.06 16:26)
Файловый образ Excel-документа представляет собой файл в формате MS structured storage. Обзови этот файл хоть "MyExcel.ЧертТеЧтоИСБокуБантик" - он от этого не перестанет быть файловым образом Excel-документа)
Elen (2006-10-19 16:31:00) [13]
> .OLE файлов
А что это расширение такое А? Чего в OLE лезть если экзел распечатывать по другому научился?
Сергей М. (2006-10-19 16:31:00) [14]
> .OLE файлов(excel таблицы)
Эт что еще за ".OLE файлы" такие ?