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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2010, 14:06   #1
Mamuk
Новичок
Джуниор
 
Регистрация: 04.08.2010
Сообщений: 4
По умолчанию Работа с Excel

Есть документ например 1.xls, необоходимо:
1. По нажатию кнопки открыть и в определенные ячейки чонить понаписать.
2. Сохранить этот документ по другим именем в другую папку без запросов на подтверждение
3. Закрыть 1.xls без изменений

Первый пункт не вызвал никаких проблем. А вот последние два никак.
Благадарен буду, еси написать пару строчек необходимого кода, не вызовет у вас затруднений
Открываю так:
MyExcel := CreateOleObject('Excel.Application' );
MyExcel.Workbooks.open('D:\1.xls');
MyExcel.Visible:=true;

Сохранить пытаюсь так:
MyExcel.WorkBooks.SaveAS('D:\qq\2.x ls')
Mamuk вне форума Ответить с цитированием
Старый 04.08.2010, 14:21   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

И что не выходит? ЧТобы не было запросов на подтверждение поставь:
Код:
MyExcel.Application.EnableEvents:= false;
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 04.08.2010, 14:28   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Mamuk, а что дал поиск по форуму ???
Или искать не любим ? Проще в 10-й раз вопрос задать !
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 04.08.2010, 14:54   #4
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

в папке с установленным office есть файлы "*.OLB" - это быблиотека типов MS Office, там описаны все интерфейсы и поля доступа к функция и процедурам. Берем лом(Delphi) и долбим эту библиотеку.
P.S.
в вашем случае интерфейсы к Excel находятся в XL5EN32.OLB
Не забываем говорить спасибо за помощь - это ведь так приятно

Последний раз редактировалось Sanprof; 04.08.2010 в 14:56.
Sanprof вне форума Ответить с цитированием
Старый 05.08.2010, 05:39   #5
Mamuk
Новичок
Джуниор
 
Регистрация: 04.08.2010
Сообщений: 4
По умолчанию

MyExcel.WorkBooks.SaveAS('D:\qq\2.x ls')

это вапще не работает. хрен сним с подтверждением даже. Пусть спрашивает разрешение на сохранение. НО прога вылетает с ошибкой, ничо не сохраняется

Kotofff
Покажи мне хоть одну, (даже не 10) тему этого форума, где есть ответ на мой вопрос. Или проще было сюда написать и наставить вопросительных знаков?

Последний раз редактировалось Stilet; 05.08.2010 в 08:33.
Mamuk вне форума Ответить с цитированием
Старый 05.08.2010, 07:53   #6
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
Лампочка

Цитата:
Сообщение от Mamuk Посмотреть сообщение
Kotofff
Покажи мне хоть одну, (даже не 10) тему этого форума, где есть ответ на мой вопрос. Или проще было сюда написать и наставить вопросительных знаков?
Темы есть, но без ответа

Вот мой работающий ответ!!!
MyExcel.WorkBooks.SaveAs(Filename:= 'E:\01_Work\test.xlsx');

ПС: *довольный как пряник*
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 05.08.2010, 08:22   #7
Mamuk
Новичок
Джуниор
 
Регистрация: 04.08.2010
Сообщений: 4
По умолчанию

Вылетает с ошибкой:Метод SaveAS ноу супортед бай атаматишион обжект. Процес стопед

Упростим весь код.
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
MyExcel := CreateOleObject('Excel.Application');
MyExcel.Workbooks.open('D:\1.xls');
MyExcel.Visible:=true;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
   MyExcel.WorkBooks.SaveAs(Filename:= 'D:\2.xls');
End;
По нажатию батана2 фалик открывается нормально. По нажатию батана3 вылетает с вышеописаной ошибкой. Хочу просто открыть и сохранить с другим именем в др место, чо не так тут?

Последний раз редактировалось Stilet; 05.08.2010 в 08:34.
Mamuk вне форума Ответить с цитированием
Старый 05.08.2010, 08:31   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Mamuk Посмотреть сообщение
Вылетает с ошибкой:Метод SaveAS ноу супортед бай атаматишион обжект. Процес стопед

Упростим весь код.

procedure TForm1.Button2Click(Sender: TObject);
begin
MyExcel := CreateOleObject('Excel.Application' );
MyExcel.Workbooks.open('D:\1.xls');
MyExcel.Visible:=true;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
MyExcel.WorkBooks.SaveAs(Filename:= 'D:\2.xls');
End;

По нажатию батана2 фалик открывается нормально. По нажатию батана3 вылетает с вышеописаной ошибкой. Хочу просто открыть и сохранить с другим именем в др место, чо не так тут?
Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
   MyExcel.ActiveWorkBook.SaveAs(Filename:= 'D:\2.xls');
End;
Либо создаете в Button2Click:
Var MyWorkBook:variant; // - это глобальная переменная
MyWorkBook := MyExcel.Workbooks.open('D:\1.xls');
и затем MyWorkBook.SaveAs(Filename:= 'D:\2.xls');

и не забываем алерты выключать

ПС: нокаутировать Excel: MyExcel.Quit;
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 05.08.2010 в 08:33.
Sparkman вне форума Ответить с цитированием
Старый 05.08.2010, 08:44   #9
Mamuk
Новичок
Джуниор
 
Регистрация: 04.08.2010
Сообщений: 4
По умолчанию

Все работает! Спасиба. Sparkman шарит
Mamuk вне форума Ответить с цитированием
Старый 05.08.2010, 08:48   #10
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Mamuk Посмотреть сообщение
Все работает! Спасиба. Sparkman шарит
пажалуста
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 05.08.2010 в 08:53.
Sparkman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с ms excel 1o1man Помощь студентам 18 05.05.2009 19:10
Работа с EXCEL... nikolai_P Общие вопросы Delphi 6 25.02.2009 14:58
Работа с Excel и БД Paranoid БД в Delphi 2 04.01.2007 17:50