Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

Помогите пожалста больше немогу   Найти похожие ветки 

 
vitaly27   (2006-10-19 16:26) [0]

Ситуация такая, существует большое количество .OLE файлов(excel таблицы) нужно распечатать это дело из delphi.
с екселевским файлом пробовал все работает, ole не могу????
Заранее спасибо.


 
Elen ©   (2006-10-19 16:31) [1]


>  .OLE файлов

А что это расширение такое А? Чего в OLE лезть если экзел распечатывать по другому научился?


 
Сергей М. ©   (2006-10-19 16:31) [2]


> .OLE файлов(excel таблицы)


Эт что еще за ".OLE файлы" такие ?


 
Сергей М. ©   (2006-10-19 16:35) [3]


> vitaly27   (19.10.06 16:26)


Файловый образ Excel-документа представляет собой файл в формате MS structured storage. Обзови этот файл хоть "MyExcel.ЧертТеЧтоИСБокуБантик" - он от этого не перестанет быть файловым образом Excel-документа)


 
vitaly27   (2006-10-19 16:36) [4]

ole это расширение файлов, в OLE контейнер можно поместить разного рода "объект" в данном случае excel


 
vitaly27   (2006-10-19 16:40) [5]

Это я знаю ну а как его из дельфей распечатать?


 
Сергей М. ©   (2006-10-19 16:40) [6]


> vitaly27   (19.10.06 16:36) [4]


> ole это расширение файлов


Оно откуда свалилось ?

Цитируй док-цию, где фигурирует именно это расширение именно для такого рода инф-ции ...


 
Сергей М. ©   (2006-10-19 16:42) [7]


> как его из дельфей распечатать?


Ты с дуба упал ?)

Печатью xls-документов заведует сам Excel. Ну и еще "прихлебатели" а-ля OpenOffice)


 
vitaly27   (2006-10-19 16:45) [8]

Установите в диалогах в свойстве Filter: "объекты OLE" | *.ole и все файлы |*.* и тд. Источник параграф 6.4 Внедрение и связывание объектов OLE;стр 420 "Програмирование в Delphi5 - А.Я. Архангельский"


 
vitaly27   (2006-10-19 16:49) [9]

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 выдет ошибку.


 
Сергей М. ©   (2006-10-19 16:52) [10]


> vitaly27   (19.10.06 16:45) [8]


Ок.
Я запустил Ёхель97, бо под руекой оказался (чем он плох ?), выбрал меню "Open .."
Вылупился на явившийся мне список дифолтных расширений файлов, которые Ёхель якобы "понимает" - в упор не вижу никаких "объекты OLE" | *.ole"

Я заболел ?


> А.Я. Архангельский


Фтопку.


 
Сергей М. ©   (2006-10-19 16:56) [11]


> vitaly27   (19.10.06 16:49) [9]



> Из моей формы xls док-ты печатает нормально


Галиматья.

при чем здесь "форма" ? При чем здесь твоя она или не твоя ?


> я открываю
> > ole выдет ошибку


Значит файл с расширением *.ole , который ты пытаешься открыть, не содержит образ xls-документа в документированном Майкрософтом формате.


 
infom ©   (2006-10-19 17:02) [12]

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;


 
vitaly27   (2006-10-19 17:16) [13]

ну значит непоможите


 
Наиль ©   (2006-10-19 17:25) [14]


> vitaly27   (19.10.06 16:26)

Для начала тебе нужно уяснить, что OLE - это всегда данные + приложение-сервер (как правило, не твоё), которое умеет обрабатывать эти данные (в данном случае - печатать). Другими словами, не будет Excel"я - не будет будет работать OLE основаное на Excel. Если будешь печатать XLS-документы через Excel, получишь тот же результат. А если не видно разницы, то зачем платить больше? (с) Дося.



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.057 c
15-1160834004
Kolan
2006-10-14 17:53
2006.11.05
Что лучьше виртуальный COM или DLL...


2-1161362732
kulkse
2006-10-20 20:45
2006.11.05
Ошибка при запуске программы.


2-1161257587
Helen
2006-10-19 15:33
2006.11.05
Поменять кодировку


4-1150985614
PRT
2006-06-22 18:13
2006.11.05
Popup в Run - time


4-1150793137
Lagrima_JN
2006-06-20 12:45
2006.11.05
Приостановка завершения Windows