![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый вечер. Ребята, помоги разобраться как работать с таблицей в Word из файла-шаблона (.dot). Суть такова: подключаю экземпляр Word'а, открываю файл-шаблон - с этим все в порядке; затем необходимо внести в 1-ую ячейку таблицы данные из combobox1, во 2-ую ячейку данные из combobox2, в 3-юю ячейку таблицы данные из combobox3, затем, при нажатии на кнопку, занести эти данные в таблицу и необходимо создать под этой строкой еще одну и чтобы можно было опять заполнять эти ячейки из этих же combobox'ов и так до n строк.
P.S. Изображение таблицы (1, 2 и 3 - ячейки, в которые необходимо внести данные, а затем под этой строкой создать еще одну) ![]() Необходимо через Delphi реализовать. |
#2
|
||||
|
||||
![]() А как реализована работа с Word?
Google в помощь |
#3
|
|||
|
|||
![]() Ну, как обычно:
Код:
try W:=GetActiveOleObject('Word.Application'); W.Visible:=true; except try W:=CreateOleObject('Word.Application'); W.Visible:=true; except showmessage ('бла-бла, неважен текст'); end; end; end; Потом просто добавляю документ w.documents.add (ExtractFileDir(Application.ExeName)+'\primer.dot' ); А вот дальше надо как-то с таблицей работать, а я не знаю, как это реализовать. Последний раз редактировалось Bargest, 14.05.2012 в 21:15. |
#4
|
||||
|
||||
![]() Самое первое с чего стоит начать, так это немного подправить (есть такая возможность?) шаблон. В ячейку куда будет вставляться первое значение (комбобокса1), следует поставить метку. Например, #begin#. Я лично всегда так делаю, никогда не подводил метод. А потом просто по ячейкам табуляцией "гулять".
Google в помощь |
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение: | ||
MaKKeY (14.05.2012)
|
#5
|
|||
|
|||
![]() Возможность, конечно же, есть, но вот хорошо: вставил метку, а вот потом как дальше? Вот бы просто программный пример. Не знаю просто вообще работу с Word и таблицами.
|
#6
|
||||
|
||||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); begin w.Selection.HomeKey(6); //идем в самое начало документа, делается всегда на всякий случай перед поиском. w.Selection.Find.Text:= '#begin#'; w.Selection.Find.Execute; //Находим нашу метку //Так как мы уже в нужной ячейке и у нас выделена метка, то просто пишем нужное значение w.Selection.TypeText(Combobox1.Text); w.Selection.MoveRight(12); //переход в следующую ячейку w.Selection.TypeText(Combobox2.Text); w.Selection.MoveRight(12); w.Selection.TypeText(Combobox3.Text); end; Код:
w.Selection.MoveRight(12); Google в помощь Последний раз редактировалось Ildar-tsr, 14.05.2012 в 21:19. |
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение: | ||
MaKKeY (14.05.2012)
|
#7
|
|||
|
|||
![]() Не хочет создавать новую строку: "Метод или свойство недоступны, поскольку некоторые или все объекты не ссылаются ссылаются на таблицу".
|
#8
|
||||
|
||||
![]() Надо проверять, стоит ли курсор в последнем столбце. В общем конечно вам сюда или по соответствующим запросам в поисковых системах.
P.S. Если уж вообще невмоготу будет, то пишите в личные сообщения. Google в помощь |
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение: | ||
MaKKeY (14.05.2012)
|