Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите пожалста больше немогу


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 файлы" такие ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо