Где достать Help на классы TWordApplication, TWordDocument и т.д.???
» Управление Office - приложениями из Delphi!
KostiKL посмотри любую литературу про программирование под VBA для Office, т.к. Delphi работает и интерфейсом VBA для данного класса. Хорошее описание было у Кенту
про классы из MSOffice инфу беру непосредственно из самого Office'а.
у меня вот здесь "drive:\Program Files\Microsoft Office\Office49\vbawrd9.chm",
ну и другие vba*.chm.
если их нет, нужно в настройке инсталляции Office'а указать "Справочные файлы" соответственно для всех компонент (Word, Excel ....).
ну и естественно, там все по англицкий... ;о)
на всякий случай, у меня MSO2000.
у меня вот здесь "drive:\Program Files\Microsoft Office\Office49\vbawrd9.chm",
ну и другие vba*.chm.
если их нет, нужно в настройке инсталляции Office'а указать "Справочные файлы" соответственно для всех компонент (Word, Excel ....).
ну и естественно, там все по англицкий... ;о)
на всякий случай, у меня MSO2000.
Покорнейше благоданю!
Но через OLE напрямую работать получается ... это не проблема! Да вот хотелось посмотреть поподробнее именно на разработанные сотрудниками Borland классы благополучно указанные выше!
Добавлено
Поправка для Office XP (то бишь Office10)!
Файлы лежат в папке drive:\Program Files\Microsoft Office\Office1033\vbawd10.chm",
ну и другие vba*.chm.
Почти все работает... Только на попытку WordApplication1.Activate почему то говорит: "Can't activate application!".
Вопрос: "Как запустить Word из Delphi?"
Но через OLE напрямую работать получается ... это не проблема! Да вот хотелось посмотреть поподробнее именно на разработанные сотрудниками Borland классы благополучно указанные выше!
Добавлено
Поправка для Office XP (то бишь Office10)!
Файлы лежат в папке drive:\Program Files\Microsoft Office\Office1033\vbawd10.chm",
ну и другие vba*.chm.
Почти все работает... Только на попытку WordApplication1.Activate почему то говорит: "Can't activate application!".
Вопрос: "Как запустить Word из Delphi?"
\DelphiX\Ocx\Servers\*.pas
Добавлено
KostiKL
что значит
Цитата:
у TWordApplication есть свойство AutoConnect.
ставишь его в True, ворд автоматически запускается вместе с приложением.
ставишь в False, тогда с коде пишешь типа
procedure TForm1.Button1Click(Sender: TObject);
begin
WordApplication1.Connect;
WordApplication1.Visible := True;
end;
если нужно вордовское окно пишешь Visible := True;
главное пр закрытии приложения, завершить работу ворда (если его окно скрыто)
свойство AutoQuit.
либо метод Quit.
только если ворд уже закрыли Quit выдает исключение => проверять наличие ворда (как - не знаю, но точно знаю, что можно, времени сейчас нет ковырять).
Добавлено
KostiKL
что значит
Цитата:
Вопрос: "Как запустить Word из Delphi?"
у TWordApplication есть свойство AutoConnect.
ставишь его в True, ворд автоматически запускается вместе с приложением.
ставишь в False, тогда с коде пишешь типа
procedure TForm1.Button1Click(Sender: TObject);
begin
WordApplication1.Connect;
WordApplication1.Visible := True;
end;
если нужно вордовское окно пишешь Visible := True;
главное пр закрытии приложения, завершить работу ворда (если его окно скрыто)
свойство AutoQuit.
либо метод Quit.
только если ворд уже закрыли Quit выдает исключение => проверять наличие ворда (как - не знаю, но точно знаю, что можно, времени сейчас нет ковырять).
Thanks a lot!
Вчера вечерок посидел - все получается, как по маслу!
А чтобы Word запустить достаточно WordApplication1.Visible:= true!
Только вот мароки с OleVariant много! Чего он напрямую не хочет переменные преобразовывать? Все ему через OleVariant надо!
Вчера вечерок посидел - все получается, как по маслу!
А чтобы Word запустить достаточно WordApplication1.Visible:= true!
Только вот мароки с OleVariant много! Чего он напрямую не хочет переменные преобразовывать? Все ему через OleVariant надо!
use Google: "Automating Microsoft Office"
А у меня все получается через ОЛЕ (с Экселлем). Вчера вот изменил ширину ячеек и цвет текста в ячейке
Приветствую.
Подниму тему, мож кому пригодится.
Ибо сам, когда оное понадобилось, долго искал нужную инфу и собирал по кусочкам.
В итоге у меня получилось 2 файлика с набором минимальных функций для работы с Word & Excel:
WordFunc.pas - http://kinsmarino.narod.ru/soft/WordFunc.pas
ExcelFunc.pas - http://kinsmarino.narod.ru/soft/excelFunc.pas
Для заполнения шаблонов Word и Excel вполне достаточно.
Проверено и отработано в Delphi7+Office 2000.
Хорошая книжка по сабжу:
В.Корняков
"Программирование документов и приложений MS Office в Delphi"+CD -
после изучения данной книги, практически все вопросы отпадают.
ЗЫ
Ежели что нужно добавить, и не знаем как, поступаю следующим образом:
делаю макрос в word/excel, анализирую и пишу свою функцию.
Неплохо бы представлять себе обьектную модель Word/Excel.
Подниму тему, мож кому пригодится.
Ибо сам, когда оное понадобилось, долго искал нужную инфу и собирал по кусочкам.
В итоге у меня получилось 2 файлика с набором минимальных функций для работы с Word & Excel:
WordFunc.pas - http://kinsmarino.narod.ru/soft/WordFunc.pas
ExcelFunc.pas - http://kinsmarino.narod.ru/soft/excelFunc.pas
Для заполнения шаблонов Word и Excel вполне достаточно.
Проверено и отработано в Delphi7+Office 2000.
Хорошая книжка по сабжу:
В.Корняков
"Программирование документов и приложений MS Office в Delphi"+CD -
после изучения данной книги, практически все вопросы отпадают.
ЗЫ
Ежели что нужно добавить, и не знаем как, поступаю следующим образом:
делаю макрос в word/excel, анализирую и пишу свою функцию.
Неплохо бы представлять себе обьектную модель Word/Excel.
проще всего работать с вордом/екселем через variant...
объявляешь переменную, создаёшь CreateOleObject('Excel.Application') либоCreateOleObject('Word.Application') и погнал что тебе нужно...
всю необходимуюинформацию можно найти при записи макроса...
удачи
объявляешь переменную, создаёшь CreateOleObject('Excel.Application') либоCreateOleObject('Word.Application') и погнал что тебе нужно...
всю необходимуюинформацию можно найти при записи макроса...
удачи
Тоже вариант.
Через компоненты с закладки Servers мне лично не понравилось
Устаешь писать EmptyParam,EmptyParam,EmptyParam... и так 15 раз.. всего лишь при открытии документа...
Через компоненты с закладки Servers мне лично не понравилось
Устаешь писать EmptyParam,EmptyParam,EmptyParam... и так 15 раз.. всего лишь при открытии документа...
ИМХО самый правильный и хороший способ использовать COM через IDTExtensibility2. Это сложнее в плане программирования, но в плане концепции ПО правильнее работать на уровне Office.
Люди, помогите.
1. Проблема с форматом чисел в Excel;
{For fr:=1 to ExRows do
begin
Range:=E.ActiveSheet.Range['B'+IntToStr(fr)];
Range.NumberFormat:='0.00';
end;}
Цикл должен просматривать стобец Б в таблице и менять формат числа. Но почему не работает.
2. Не получается сделать границы ячейки;
//Range.Borders[xlEdgeTop].LineStyle:=xlContinuous;
1. Проблема с форматом чисел в Excel;
{For fr:=1 to ExRows do
begin
Range:=E.ActiveSheet.Range['B'+IntToStr(fr)];
Range.NumberFormat:='0.00';
end;}
Цикл должен просматривать стобец Б в таблице и менять формат числа. Но почему не работает.
2. Не получается сделать границы ячейки;
//Range.Borders[xlEdgeTop].LineStyle:=xlContinuous;
Подскажите запускаю ВОРД через CreateOleObject('Word.Application').
Ворд пускается, но не могу получить доступ к коллекции document
Что и где надо прописать чтобы коллекция document работала?
Вот кусок кода
uses ComObj;
var W:variant;
procedure TForml.ButtonlClick(Sender: TObject);
begin
W:=CreateOleObject('Word.Application );
W.Visible:=True;
W.Documents.Add;
end;
Ворд пускается, но не могу получить доступ к коллекции document
Что и где надо прописать чтобы коллекция document работала?
Вот кусок кода
uses ComObj;
var W:variant;
procedure TForml.ButtonlClick(Sender: TObject);
begin
W:=CreateOleObject('Word.Application );
W.Visible:=True;
W.Documents.Add;
end;
Ребята, хэлп. Я в в объектно-ориентир-ом програм-ии не очень (в универе только на ассемблере контроллеоы программировал), не знаю к кому обратиться, может подскажите? Мне нужно на Delfi научится запускать любые *.exe-файлы, например, при нажатии кнопки, как мне это сделать? Буду признателен за любую информацию.
Добавлено:
Помогите! Как запустить НЕ офисное приложение, а например Far
Добавлено:
Помогите! Как запустить НЕ офисное приложение, а например Far
dborovik
http://forum.ru-board.com/topic.cgi?forum=33&topic=6679
версия для печати.
И FAQ читай, там написанно.
http://forum.ru-board.com/topic.cgi?forum=33&topic=6679
версия для печати.
И FAQ читай, там написанно.
JonyBes
И чего тебя в этом коде не устривает?
Тут апострофа не хватает закрывающего, остальное работает.
Цитата:
И чего тебя в этом коде не устривает?
Тут апострофа не хватает закрывающего, остальное работает.
Цитата:
W:=CreateOleObject('Word.Application );
Как посчитать колличество открытых(а не запущенных) страниц.
пробую делать так:
W:=GetActivOleObject('Word.Application );
for i=0 to w.documents.count -1
Данная хрень возвращает только единицу. Как сделать правильее?
пробую делать так:
W:=GetActivOleObject('Word.Application );
for i=0 to w.documents.count -1
Данная хрень возвращает только единицу. Как сделать правильее?
Всех с Новым Годом!
Хочу поставить прогресбар на время копирования файлов. Вот код :
word.ActiveDocument.SaveAs('\\Super\D\Base_UFSKN\Documents\'+patch+'\'+files);
Копирование идет по сети с клиента, т.ч. при большом документе процесс довольно долгий. Чтобы на клиентской части в это время не было паники - нужен индикатор процесса.
Хочу поставить прогресбар на время копирования файлов. Вот код :
word.ActiveDocument.SaveAs('\\Super\D\Base_UFSKN\Documents\'+patch+'\'+files);
Копирование идет по сети с клиента, т.ч. при большом документе процесс довольно долгий. Чтобы на клиентской части в это время не было паники - нужен индикатор процесса.
Страницы: 1
Предыдущая тема: [Interbase] Создание базы
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.