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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.08.2007, 14:35   #1
Russo
 
Регистрация: 08.08.2007
Сообщений: 3
По умолчанию Проблема подключения к запущенному Word

Есть задача - подключиться к запущенному Word или открыть новый документ по шаблону. Все просто, но ниже приведенный код полностью не работает, а именно - новый документ создается, а подключаться к существующему и отображать его не хочет.
Кроме того, при обращении к олеобъекту W, не выводится перечень всех его свойств и методов после точки. Т.е. ручками ввожу, если знаю точно, что такое свойство или метод есть, а увидеть все на могу.
Что не так, подмогните, вроде все точно по букварях?
Код:
unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComObj, OleServer;
type
 TForm1 = class(TForm)
   Button: TButton;
   procedure ButtonClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
var
 Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.ButtonClick(Sender: TObject);
var
  W: OleVariant;
begin
  try
   W:= GetActiveOleObject('Word.Application');
   W.Visible:= True;
  except
   W:= CreateOleObject('Word.Application');
   W.Visible:= True;
   W.Documents.Add('D:\TMP\KG.dot');
  end;
end;
end.
Russo вне форума
Старый 08.08.2007, 15:02   #2
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

.Кинь на форму WordApplication и WordDocument из вкладки servers
а вот код
Код:
var
fileName: OleVariant;
begin
WordApplication1.Connect;
fileName := 'D:\123.doc';
WordApplication1.Documents.Open(fileName, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
WordDocument1.Save;
WordDocument1.Disconnect;
end;
Aleksandr вне форума
Старый 08.08.2007, 15:38   #3
Russo
 
Регистрация: 08.08.2007
Сообщений: 3
По умолчанию

Спасибо...
так пробовал, все действительно работает на ура...просто интересно, почему же мой вариант не работает как положено...
Russo вне форума
Старый 08.08.2007, 15:42   #4
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Я бросал код в форуме Мастера Delphi, что там не работало? У меня все работает.
Aleksandr вне форума
Старый 08.08.2007, 15:49   #5
Russo
 
Регистрация: 08.08.2007
Сообщений: 3
По умолчанию

Я там ответил...Разницы нет. Если dot, то новый документ создается на его основе, а если doc, то на основании doc. Проверено на моем "кривом" же коде.
A через стандартные компоненты работает и у меня
Russo вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с Word DinaS Microsoft Office Word 4 01.08.2008 08:38
Проблема с Word-ом. KinD Помощь студентам 3 24.07.2008 15:53
Проблема с полями в Word 2007 Anry Microsoft Office Word 1 27.05.2008 07:46
Проблема office 2003 word Savierka Microsoft Office Word 14 05.04.2008 16:58
проблема внедрения в базу paradox файлов word и jpg ghost_7_7_7 БД в Delphi 1 30.01.2008 16:44