Показать полную графическую версию : Как взять данные с Delphi и этими же данными заполнить форму в Worde?
GoodsmaK
13-07-2011, 12:51
Вот на работе дали заморочку, создать программу в которой будет организованно взятие данных с Excel с последующим заполнением их в Word!
Но натолкнулся на проблему не могу вывести данные с Excel, выдает ошибку взятых в двойные ковычки оперцаии, не как не могу разорбраться почему!
procedure TForm1.Button1Click(Sender: TObject);
var
Excel: variant;
i, j: word;
S: string;
begin
Excel :=""CreateOleObject""('Excel.Application');
Excel.Workbooks.Open(C:\2.xls);
Excel.Visible:=True;
for i := 1 to 5 do
for j := 1 to 5 do
begin
S := Excel.Sheets[1].Cells[i,j].Text;
ShowMessage(S);
end;
end;
И вот проверти правильно ли код написан для заполнения Word формы! Прикреплю!
GoodsmaK, Сразу же возникают вопросы :
зачем двойные кавычки?
Excel :=""CreateOleObject""('Excel.Application'); »
Делается так :
excel := CreateOleObject('Excel.Application');
Далее...
Excel.Workbooks.Open(C:\2.xls); »
Файл передается как текстовая переменная, заключаем в кавычки:
Excel.Workbooks.Open('C:\2.xls');
Обращаемся к ячейкам так : excel.Cells[i,j].Value
Пробуйте....
GoodsmaK
13-07-2011, 13:08
У меня как раз где ковычки и выдает ошибку, в программе само собой их нету)
[Error] Unit1.pas(32): Undeclared identifier: 'CreateOleObject' вот выдает ошибку не могу понять почему((
и следом вот такая
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
GoodsmaK, ComObj добавлен?
GoodsmaK
13-07-2011, 13:31
Все добавил терь он мне берет эти данные))
Терь осталось только их запихать в ворд в форму))
Grabber2006
13-07-2011, 13:32
Добавьте в список Uses ComObj
GoodsmaK
13-07-2011, 13:36
Добавьте в список Uses ComObj »
Все добавил теперь заработало, щас получю документ куда надо вставить данные!! и приведу пример!
GoodsmaK
13-07-2011, 13:50
Вот данные с этой таблицы, надо перенести в word форму документа,
Вот не могу сообразить как это все, через делфи взятые данные запихать в эти две формы, так что бы данные попали в нужные поля((
В этой базе у меня получается полностью заполненных людей 798, вот и на каждого надо сделать автомотическое занесение в с экселя в ворд через делфю)
а у меня чет соображалка не могет сообразить((
GoodsmaK, Почитайте тут :
Microsoft Word в Delphi. (http://www.webdelphi.ru/2010/02/microsoft-word-v-delphi/)
Создать из Delphi документ Word, работа с текстом (http://www.delphisources.ru/pages/faq/base/create_word_doc.html)
Так же тут :
Delphi 4: Автоматизация приложений MS® Office® для эффективного анализа результатов (http://www.delphi.int.ru/articles/11/)
Работа с MS Word из Delphi (http://www.base.vingrad.ru/view/1369-Rabota-s-MS-Word-iz-Delphi)
Все доходчиво разъяснено...особенно в первых 2х вроде
GoodsmaK
13-07-2011, 14:17
Мне надо в именно в 7 Delphi!
А можно сделать так, что бы он искал не поячейкам, а по строчкам! а то так неудобно получается(
GoodsmaK, Вы смотрели ссылки? Там где - нибудь написано, что это не работает в Delphi 7? Или может быть вы попробовали методы и возникают какие - либо вопросы?
Перед предъявлением претензий, могли бы хоть сначала ознакомиться с материалами :(
А можно сделать так, что бы он искал не поячейкам, а по строчкам! а то так неудобно получается( »
По одной из ссылок есть вариант как можно сделать... Нужно только прочитать....
тех местах документа, в которые необходимо вставить текст я расставляю либо закладки, либо простые строки текста, например, обрамленные символом $ или #. И затем просто выполняю поиск и замену подстрок следующим образом:
Далее приведен код...
Прочитайте от начала и до конца... Многие вопросы исчезнут.
GoodsmaK
13-07-2011, 17:04
Млин все нашел, а сооброзить не могу как подставить(((
GoodsmaK
13-07-2011, 17:21
Вот после подставления что получилось, но он не хочет работать как надо((
но он не хочет работать как надо(( »
Что именно не работает - ошибки? ничего не происходит? Поясните пожалуйста.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.