Модераторы: MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WordApplication, ExcelApplication, Работа с Word и Excel 
:(
    Опции темы
Albinos_x
Дата 13.2.2008, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



mikolka, попровляюсь, тут мне XperT подсказал
Код

// номер страницы на которой находится курсор
Edit1.Text:=WordApplication1.Selection.Information[wdActiveEndPageNumber];

функция возвращает OleVariant


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Jsn
Дата 14.2.2008, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.2.2008

Репутация: нет
Всего: нет



Цитата(Albinos_x @ 13.2.2008,  01:19)

2. хм... странно... попробуйте так:
Код

Application1 := TWordApplication.Create(nil);
  with Application1 do
  begin
    try
// запускаем ворд
Application1.Connect;
...
// теперь говорим серверу, что события нужно игнорировать
      DisplayAlerts := wdAlertsNone; 
// выполняем остальные действия, например
      Documents.Open(fn, fn1, fn2, fn1, EmptyParam, EmptyParam,
      EmptyParam, EmptyParam, EmptyParam, EmptyParam); 
...


Albinos_x 

Application1.Connect; - не помогает smile 
PM MAIL   Вверх
Albinos_x
Дата 16.2.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



хм.....

Jsn, если я правильно понял, то этот код Вы используюте, только для того чтоб печатать документы. Если я правильно понял, то этот код можно реализовать гораздо проще
вот код:
Код
...
uses ..., ShellAPI;
....
begin    
if ShellExecute(handle, 'print', PChar(FileName), nil, nil, SW_SHOW) <= 32 then
  begin
    // если ошибка печати
   MessageDlg('Ошибка печати #10#13'+s,mtWarning,[mbOK],0);
   end;
end;
...
 
если показывать окно ворда не надо, то передайте вместо SW_SHOW значение SW_HIDE




--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 6.3.2008, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Пример смарт-тега здесь:
http://forum.vingrad.ru/forum/topic-197657...y1434286/0.html


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Чердак
Дата 3.5.2008, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



А где можно найти Help по функциям сервера MSOffice?  smile 
--------------------
PM MAIL   Вверх
Albinos_x
Дата 4.5.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



в справке по VB


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Чердак
  Дата 5.5.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Спасибо, а как можно установить отдельно эту справку? и можно ли где скачать?
Время доброе smile У меня такая проблема при добавлении нового листа и попытки его переименовать, почему-то переименовывается первый лист :(
Код

    EA1.Worksheets.Add(EmptyParam,EmptyParam,1,EmptyParam,icid);
    EA1.ActiveWorkbook.ActiveSheet;
    EWsh1.Name:=DateToStr(now)+'_'+time;


что не так делаю?

Это сообщение отредактировал(а) Чердак - 5.5.2008, 19:07
--------------------
PM MAIL   Вверх
Чердак
Дата 5.5.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Получилось...
Код

    EA1.Worksheets.Add(EmptyParam,EmptyParam,1,EmptyParam,icid);
    EWsh1.ConnectTo(EA1.ActiveWorkbook.ActiveSheet as ExcelWorkSheet);
    EA1.ActiveWorkbook.ActiveSheet;
    EWsh1.Name:=DateToStr(now)+'_'+time;



Это сообщение отредактировал(а) Чердак - 5.5.2008, 21:38
--------------------
PM MAIL   Вверх
Albinos_x
Дата 5.5.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(Чердак @  5.5.2008,  18:57 Найти цитируемый пост)
Спасибо, а как можно установить отдельно эту справку? и можно ли где скачать?

когда устанавливаете оффис, поставить галку выбрать конфигурацию в ручную... ну и там соответственно "Установить"


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 5.5.2008, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(Чердак @  5.5.2008,  18:57 Найти цитируемый пост)
что не так делаю?

хм... ну во первых...
то что в первом варианте Вы не подсоединили EWsh1 к листу
Код
...
EWsh1.ConnectTo(EA1.Worksheets.Add(EmptyParam,EmptyParam,1,EmptyParam,icid) as ExcelWorksheet);
EWsh1.Name:=DateToStr(now)+'_'+time;
...



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
zhefran
Дата 19.5.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



На tablet Pc в Word есть такая комманда как InsertInkAnnoptations - это рукописные примечания. У меня вопрос: Как можно добраться до пунктов его CommandBar-а? Там в нем есть изменение цвета примечания; изменения типа пера - ручка, фломастер, выделение; изменение толщины линии. Пробовал выполнять запись макроса, потом эти команды. В макросе ничего не написано. Потом все это надо будет сделать с помощью Delphi. Я думаю буду просто выполнять макрос, но я не знаю как добраться до тех команд. smile  smile 

Это сообщение отредактировал(а) zhefran - 19.5.2008, 12:37
--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
Albinos_x
Дата 27.5.2008, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(zhefran @  19.5.2008,  12:37 Найти цитируемый пост)
пунктов его CommandBar-а

Код

WordApplication1.CommandBars...

Цитата(zhefran @  19.5.2008,  12:37 Найти цитируемый пост)
Пробовал выполнять запись макроса, потом эти команды. В макросе ничего не написано.

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


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
NightKeeper
Дата 29.5.2008, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.5.2008

Репутация: нет
Всего: нет



Доброго времени суток!

Помогите решить следующую проблему:
Есть файл Excel, в котором присутствуют объекты типа Image и CheckBox, необходимо передавать в них значения из программы на Дельфи. Формат файла разработан не мной и редактировать его структуру категорически запрещено.

Каким образом я могу получить доступ к этим объектам если известны только их имена?
PM MAIL   Вверх
NightKeeper
Дата 29.5.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.5.2008

Репутация: нет
Всего: нет



Все. Всем спасибо!
Сам разобрался smile
PM MAIL   Вверх
Beltar
Дата 3.6.2008, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 1
Всего: 7



Кстати, а кто-нибудь писал здесь о таких неприятных вещах, как отключение от Office версий ниже 2003-ей? Сервер остается в памяти, но к нему не подключишься и его оттуда только через 3 веселых клавиши. 2003-ий же если он уже загружен только пускаться быстрее будет. В свое время статья помогла мне найти решение. Запомнить при коннекте версию, и делать так:

Код

procedure TfmReports.EAWorkbookBeforeClose(ASender: TObject;
  const Wb: _Workbook; var Cancel: WordBool);
begin
case Ver of
  9,10:EA.Disconnect;
end;
end;


Хотя под Win2000 все равно подглючивает сообщением об ошибке, которое можно просто закрыть.

Еще один "прикол" с версиями Excel младше 2003.
Если Range получился пустой, то при попытке оформить границы ячеек происходит сбой. Или например Range включает одну строку и при попытке обратится к границе xlInsideHorizontal также происходит сбой. В 2003 же все работает отлично.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.1749 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.