Главная страница
    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.48 MB
Время: 0.036 c
15-1161096206
Sergey Masloff
2006-10-17 18:43
2006.11.05
незаметное событие


2-1161598700
id
2006-10-23 14:18
2006.11.05
Вычисления значения функции.


15-1161139835
Slider007
2006-10-18 06:50
2006.11.05
С днем рождения ! 18 октября


15-1160889398
cyborg
2006-10-15 09:16
2006.11.05
Толи кони не едут


3-1157536802
Sanal23
2006-09-06 14:00
2006.11.05
Помогите разобраться?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский