Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.02.2012, 15:32
1450 1450 вне форума
Прохожий
 
Регистрация: 01.02.2012
Сообщения: 9
Репутация: 10
По умолчанию Автоматизация Word + Delphi

Добрый день, в коде имеется строчка
Код:
MSWord.ActiveDocument.Range(Start:=MSWord.Selection.Start, End:=MSWord.Selection.Start).InsertBreak;
Возникают проблемы со словом End, так как он, видимо, расценивает его как оператор Delphi. Проявляется это в том, что в коде ПОСЛЕ этой строчки (тут напишу максимально банальными словами, не могу сформулировать нормально):
"начинаю писать Form1. и Делфи не выдает список визуальных компонентов и св-в формы, появляется ошибка отсылающая к USES, то есть не получается обратиться ни к каким компонентам формы".
Если убрать эту строчку, то все работает нормально.
Подскажите пожалуйста, как решить проблему.

Последний раз редактировалось 1450, 28.02.2012 в 16:29.
Ответить с цитированием
  #2  
Старый 28.02.2012, 17:17
1450 1450 вне форума
Прохожий
 
Регистрация: 01.02.2012
Сообщения: 9
Репутация: 10
По умолчанию

Нашел такую информацию:
For instance, if Excel uses an Object Pascal keyword in its code, then we need to make an alias for that keyword. For instance, Excel uses End in several places. This is a Delphi keyword, and so we append a space on to the end of it, converting the word End to End_. This puts an end to name conflicts.
Но не понял, что бы это значило. Пробовал ставить пробел после "End" - не помогло.
Не работает и

Код:
MSWord.ActiveDocument.Range(Start:=MSWord.Selection.Start, End_:=MSWord.Selection.Start).InsertBreak;

Последний раз редактировалось 1450, 28.02.2012 в 17:58.
Ответить с цитированием
  #3  
Старый 29.02.2012, 11:34
1450 1450 вне форума
Прохожий
 
Регистрация: 01.02.2012
Сообщения: 9
Репутация: 10
По умолчанию

Проблему решил другим путем, тему можно закрывать.
Ответить с цитированием
  #4  
Старый 29.02.2012, 11:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Предполагаю, что примерно так:
Код:
Start := MSWord.Selection.Start;
Finish := MSWord.Selection.Start;
MSWord.ActiveDocument.Range(Start, Finish).InsertBreak;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 29.02.2012, 15:52
1450 1450 вне форума
Прохожий
 
Регистрация: 01.02.2012
Сообщения: 9
Репутация: 10
По умолчанию

Вряд ли.. Start и End - зарезервированные имена свойств Range. там не 2 параметра можно указать, а около 40
Ответить с цитированием
  #6  
Старый 29.02.2012, 16:06
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

смотря что такое MSWord: OleVariant или TWordApplication.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:24.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025