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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2012, 03:05   #1
BIGGYpo
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 11
Лампочка ввод данных и сохранение информации в файле MS Word ( Delphi )


Мне поставили задачу. Необходимо сделать программу, в которой пользователь будет вводить свои данные (Ф.И.О). Программа должна вставлять эти данные в текстовый редактор (Скорее всего Word там будет таблица). И все это в Delphi . Как легче это реализовать и может ли Delphi работать с закрытым файлом word?


_________
Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.02.2012 в 10:54.
BIGGYpo вне форума Ответить с цитированием
Старый 28.02.2012, 10:57   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Можно.
Как - зависит от конкретных деталей.
я бы рекомендовал воспользоваться либо шаблоном на RTF (ему можно дать расширение .DOC - никто вообще не заметит подмену),
либо работать с файлом Word'а через OLE автоматизацию (поиском легко найдёте примеры). В последнем случае на том компьютере, где будет работать программа обязательно должен быть установлен MS Word (фактически программа будет скрыто пользоваться его возможностями по открытию-записи-сохранению Word'ских файлов).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2012, 01:20   #3
BIGGYpo
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 11
По умолчанию

Я решил делать через с подошью ole возникла проблема с подключением кк серверу Word
в вар пишу
var
Application: variant;
на кнопку ставлю
procedure TForm1.Button1Click(Sender: TObject);
begin
Application:= CreateOleObject('Word.Application') ;
end;
а он ругается на CreateOleObject Я бы с радостью пообшялся с человеком знаюшим ole желательно Шаманом !
BIGGYpo вне форума Ответить с цитированием
Старый 02.03.2012, 01:27   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

а вы вот такое делали?
Код:
uses
    ComObj;
Тобишь модуль подключили?
Желательно конечно
Увидеть какую ошибку выдаёт компилятор!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 02.03.2012 в 01:32.
Hacker19_90 вне форума Ответить с цитированием
Старый 02.03.2012, 03:52   #5
BIGGYpo
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 11
По умолчанию

Спасибо я написал просто иначе
var
Word: variant;

begin
Word:=CreateOleObject('Word.Applica tion');
Word.Visible:=Visible;
Word.Documents.Open('d:\1\ss', ReadOnly:=true)
end;
Только теперь word загружается но говорит что нет такого фаила я уверен на 100% что он есть и я не ошибся в пути
Может быть кто нибудь подскажет delphi работает с определёнными файлами word 97 , или с поддержкой макросов я не пойму
да и ss.doc не проходит ошибка та же ('нет такого фаила')

Последний раз редактировалось BIGGYpo; 02.03.2012 в 04:23.
BIGGYpo вне форума Ответить с цитированием
Старый 02.03.2012, 06:19   #6
Максим_83
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 39
По умолчанию

Код:
Word.Documents.Open('d:\1\ss.doc', ReadOnly:=true)
Вот тут твоя ошибка.
Опять же у тебя открывается только на чтение, а должна быть возможность записи.
Для твоей задачи не совсем Word подходит если надо в таблицу сохранять данные.
Excel подходит гораздо лучше.
Максим_83 вне форума Ответить с цитированием
Старый 02.03.2012, 11:53   #7
BIGGYpo
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Максим_83 Посмотреть сообщение
Код:
Word.Documents.Open('d:\1\ss.doc', ReadOnly:=true)
Вот тут твоя ошибка.
Опять же у тебя открывается только на чтение, а должна быть возможность записи.
Для твоей задачи не совсем Word подходит если надо в таблицу сохранять данные.
Excel подходит гораздо лучше.
Извини конечно но если ты не заметил я написал что .doc не меняет ситуацию
а на счет ReadOnly:=true так я пока хочу просто открыть документ
BIGGYpo вне форума Ответить с цитированием
Старый 14.03.2012, 01:21   #8
BIGGYpo
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 11
Злость

Интересно пишу по учебнику Василия Корнякова Ms office в Delphi
написано вроде бы правильно но ругается при выполнении на диапазон
"Значение лежит вне допустимого диапазона" остался последний шаг дописать вот код
procedure TForm2.Button1Click(Sender: TObject);
begin
Word:=CreateOleObject('Word.Applica tion');
Word.Visible:=Visible;
Word.Documents.Open('E:\1.docx');
MyRange:=Word.ActiveDocument.Range( '1',20);
MyRange.InsertAfter('îëîëîë')

end;

end.
или может я не то пишу мне нужно вставить текст в определенное место в word документе
BIGGYpo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сохранение данных в .js файле ardor JavaScript, Ajax 1 16.08.2011 16:41
Сохранение переменных в файле документа Word a37529 Microsoft Office Word 3 01.06.2011 00:52
Сохранение информации в файле и считывание из него Draips Помощь студентам 3 28.12.2010 18:45