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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.04.2012, 21:47
tinky tinky вне форума
Прохожий
 
Регистрация: 08.04.2012
Сообщения: 11
Репутация: 10
По умолчанию Как узнать тип шрифта в MSWord?

Доброго времени суток! Возникла проблема с распознаванием программой типа шрифта в месте нахождения курсора.

Код:
type
  ...
  WordDocument1: TWordDocument;
  ...
 
var
  MsWord: Variant;
  i,c: integer;
  s:string;
 
...
 
 for i:=1 to Length(MsWord.Activedocument.Range.Text) do
  begin
    s:=MsWord.ActiveDocument.Range(i-1,i);
    Edit1.Text:=s;
    MsWord.ActiveDocument.Range.Select;
    MsWord.Selection.Start:=i-1;
    MsWord.Selection.End:=i;
    If WordDocument1.Range.Font.Bold=1 then Label2.Caption:="Жирный" else Label2.Caption:="нормальный"
    Label1.Caption:=MSWord.Selection.Font.Size;
  end;

программа работает нормально без предпоследней строчки, но при ее добавлении возникает ошибка "Значение лежит вне допустимого диапазона". К тому же открывается новый документ, хотя уже есть один запущенный(в свойствах worddocumentа - ckRunningOrNew). Все i перетыкал ничего не спасет
Люди, помогите, в чем проблема?((

Последний раз редактировалось Admin, 09.04.2012 в 21:52.
Ответить с цитированием
  #2  
Старый 09.04.2012, 21:50
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Предпоследняя строчка эта?
Код:
Label1.Caption:=MSWord.Selection.Font.Size;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 10.04.2012, 00:45
tinky tinky вне форума
Прохожий
 
Регистрация: 08.04.2012
Сообщения: 11
Репутация: 10
По умолчанию

нет я end не учитывал. Вся причина в этой строчке

Код:
If WordDocument1.Range.Font.Bold=1 then Label2.Caption:="Жирный" else Label2.Caption:="нормальный"
Ответить с цитированием
  #4  
Старый 10.04.2012, 05:11
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от tinky
нет я end не учитывал. Вся причина в этой строчке

Код:
If WordDocument1.Range.Font.Bold=1 then Label2.Caption:="Жирный" else Label2.Caption:="нормальный"

Еще бы не в ней была. Вместо нее пропишите:
Код:
if MsWord.Selection.Font.Bold then
  Label2.Caption:= 'жирный'
else
  Label2.Caption:= 'нормальный';
__________________
Google в помощь
Ответить с цитированием
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение:
tinky (10.04.2012)
  #5  
Старый 10.04.2012, 21:34
tinky tinky вне форума
Прохожий
 
Регистрация: 08.04.2012
Сообщения: 11
Репутация: 10
По умолчанию

Теперь имеет место та ошибка которая была раньше при использовании мной MsWord вместо WordDocument - 'Method 'Range' not supported by automation object'
Ответить с цитированием
  #6  
Старый 11.04.2012, 05:20
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от tinky
Теперь имеет место та ошибка которая была раньше при использовании мной MsWord вместо WordDocument - 'Method 'Range' not supported by automation object'
Код:
if MsWord.Selection.Font.Bold then
А где здесь Range?
__________________
Google в помощь
Ответить с цитированием
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение:
tinky (11.04.2012)
  #7  
Старый 11.04.2012, 07:19
tinky tinky вне форума
Прохожий
 
Регистрация: 08.04.2012
Сообщения: 11
Репутация: 10
Хорошо

упс, мой недогляд( спасибо, проблема решена
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter