|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
|  | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Как узнать тип шрифта в 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  
			
			
			
			
		 | ||||
| 
 | ||||
|   Предпоследняя строчка эта? Код: Label1.Caption:=MSWord.Selection.Font.Size; | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   нет я end не учитывал. Вся причина в этой строчке Код: If WordDocument1.Range.Font.Bold=1 then Label2.Caption:="Жирный" else Label2.Caption:="нормальный" | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
 Еще бы не в ней была. Вместо нее пропишите: Код: if MsWord.Selection.Font.Bold then Label2.Caption:= 'жирный' else Label2.Caption:= 'нормальный'; | 
| Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение: | ||
|  
tinky (10.04.2012)
 | ||
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Теперь имеет место та ошибка которая была раньше при использовании мной MsWord вместо WordDocument - 'Method 'Range' not supported by automation object' | 
| 
			 
			#6  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
 Код: if MsWord.Selection.Font.Bold then | 
| Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение: | ||
|  
tinky (11.04.2012)
 | ||