Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2007, 11:20   #1
shurik_7866
Пользователь
 
Регистрация: 07.02.2007
Сообщений: 50
По умолчанию Как в Delphi открыть и распечатать документ Microsoft Exel

Нужно написать прогу которая открывает и распечатует документ Microsoft Exel. При разработке проги пакет Office установлен, а при использовании проги уже нет. Никто не подскажет в кратце как это сделать.
shurik_7866 вне форума Ответить с цитированием
Старый 13.05.2007, 14:06   #2
Компоратор
 
Регистрация: 07.05.2007
Сообщений: 4
По умолчанию

Распечатать попробуй вот так. Я сам не пробовал, код не мой:

{
This is a simple example how to print an Excel file using OLE.
}
uses
ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
ExcelApp: OLEVariant;
begin
// Create an Excel instance
// Excel Instanz erzeugen
ExcelApp := CreateOleObject('Excel.Application');
try
ExcelApp.Workbooks.Open('C:\test\xyz.xls');
// you can also modify some settings from PageSetup
// Man kann auch noch einige Einstellungen von "Seite Einrichten" anpassen
ExcelApp.ActiveSheet.PageSetup.Orie ntation := xlLandscape;
// Print it out
// Ausdrucken
ExcelApp.Worksheets.PrintOut;
finally
// Close Excel
// Excel wieder schliessen
ifnot VarIsEmpty(ExcelApp) then
begin
ExcelApp.Quit;
ExcelApp := Unassigned;
end;
end;
end;
Компоратор вне форума Ответить с цитированием
Старый 10.06.2007, 13:39   #3
Chals
 
Аватар для Chals
 
Регистрация: 04.06.2007
Сообщений: 7
По умолчанию Разбирайся

необходимо использовать модуль
ComJbj

MsExcel := CreateOleObject('Excel.Application' );
MsExcel.Workbooc.Open['путь к книге полностью']
MsExcel.ActiveSceet.PrintOut:

Работает стопудово, сам пробовал.
Chals вне форума Ответить с цитированием
Старый 10.06.2007, 13:51   #4
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

Chals написал тоже самое что Компоратор, только хуже )
в данном случае полный вариант важнее
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 10.06.2007, 16:48   #5
Chals
 
Аватар для Chals
 
Регистрация: 04.06.2007
Сообщений: 7
По умолчанию

Если более обширно, то

Организация доступа к книге EXCEL

Для взаимодействия с MS Excel в программе необходимо использовать модуль ComObj

uses ComObj;


и объявить переменную для доступа к MS Excel следующего типа:

var MsExcel: Variant;


Инициализация переменной Excel в простейшем случае можно осуществить так:

MsExcel := CreateOleObject('Excel.Application' );


Создание новой книги:

MsExcel.Workbooks.Add;


Открытие существующей книги (где path - путь к фалу с расширением xls.):

MsExcel.Workbooks.Open[path];


Открытие существующей книги только для чтения:

MsExcel.Workbooks.Open[path, 0, True];


Закрытие Excel:
MsExcel.ActiveWorkbook.Close;
MsExcel.Application.Quit;


Блокировка запросов (подтвеждений, уведомлений) Ms Excel, например, запретить запрос на сохранение файла:

MsExcel.DisplayAlerts:=False;


Отображаем Excel на экране:

MsExcel.Visible := True;


или скрываем:

MsExcel.Visible := False;


Печать содержимого активного листа MS Excel:

MsExcel.ActiveSheet.PrintOut;


Чтение/запись данных в EXCEL

Доступ к ячейке в текущей книге Excel можно осуществить следующим образом:

Для записи значения в ячейку:

MsExcel.Range['B2']:='Привет!';


Для чтения значения из ячейки:

s:=MsExcel.Range['B2'];


где B2 - адрес ячейки.

Или используя стиль ссылок R1C1:

MsExcel.Range[MsExcel.Cells[2, 2]]:='Привет!';

где [2, 2] - координата ячейки.

Вообще, ячейке Excel можно присваивать любое значение (символьное, целое, дробное, дата) при этом Ms Excel установит форматирование в ячейке применяемое по умолчанию.

Chals вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как Web документ(htm, mht, и т.д.) открыть через Word? Yelzhas Общие вопросы Delphi 4 18.11.2007 20:14
Как с помощью Delphi открыть/сохранить/удалить текстовый документ SeRhy Помощь студентам 4 02.11.2007 20:27
Как в Microsoft Visual Basic 6.0 открыть Exel файл, считать с него данные(числа) и дальше работать с ними Dimon88 Microsoft Office Excel 7 20.10.2007 13:30
Из EXEL в Delphi (HELP?) AMRUS Помощь студентам 2 08.05.2007 23:30
Как в delphi открыть документ exel shurik_7866 Общие вопросы Delphi 1 27.04.2007 19:09