 |
|
MS Office Word: какой объект выделен и в каком диапазоне заголовке находится
Вложений: 1
Как определить какой объект выбран (рисунок, таблица, формула)
и каком диапазоне заголовков (1-4 и 5-9) находится?
Как я понял с выбором формул проблема т.к. они тоже относятся к рисункам.
Разобрался только с выбором рисунков и таблиц:
Макрос
Код:
Option Explicit
Dim s1, j1, u1
Dim pr As Paragraph
Private Function Zagolovok() As Integer
j1 = Selection.Range.Start
For Each pr In Word.ActiveDocument.Paragraphs
If pr.OutlineLevel > 0 And pr.OutlineLevel <= 9 Then
u1 = pr.OutlineLevel
End If
If pr.Range.Start = j1 Then
Exit For
End If
Next pr
Zagolovok = u1
End Function
Private Function Picture_Table() As Integer
If Selection.Range.ShapeRange.Count = 1 Or Selection.InlineShapes.Count = 1 Then
Picture_Table = 1 ' есть рисунок
Else
If Selection.Information(wdWithInTable) = True Then
Picture_Table = 2 ' курсор в таблице
Else
Picture_Table = 0 ' нет ничего
End If
End If
End Function
Sub Проверка_типа()
If Zagolovok < 5 And Picture_Table = 1 Then
MsgBox "Рисунок основного текста"
Else
If Zagolovok > 5 And Picture_Table = 1 Then
MsgBox "Рисунок приложения"
Else
If Zagolovok < 5 And Picture_Table = 2 Then
MsgBox "Таблица основного текста"
Else
If Zagolovok > 5 And Picture_Table = 2 Then
MsgBox "Таблица приложения"
Else
If Picture_Table = 0 Then
MsgBox "Выделенных таблиц и рисунков нет"
End If
End If
End If
End If
End If
End Sub
С таблицей приложения А.1 не работает. Буду признателен если подправите, и сделаете его стабильным.
|
Цитата:
Цитата Sta1917
Как определить какой объект выбран »
|
«Выбран» — выделен?
Цитата:
Цитата Sta1917
и каком диапазоне заголовков (1-4 и 5-9) находится? »
|
Переведите на русский. И поясните:
Цитата:
Цитата Sta1917
С таблицей приложения А.1 не работает. »
|
|
Да, формула или рисунок выделены, а в таблице установлен курсор в одной из ее ячеек.
Цитата:
Цитата Iska
и каком диапазоне заголовков (1-4 и 5-9) находится? »
|
Заголовками уровня с 1 по 4 оформляется основной текст;
заголовками уровня с 5 по 9 оформляются приложения.
нужно выяснить в каком диапазоне заголовков находится выделенный объект.
Цитата:
Цитата Iska
С таблицей приложения А.1 не работает. »
|
В приложенном файле если поставить курсор в таблицу A.1 и выполнить данный макрос, он не выдаст MsgBox.
|
Цитата:
Цитата Sta1917
нужно выяснить в каком диапазоне заголовков находится выделенный объект. »
|
Вот я и не пойму, что означает «находится в диапазоне заголовков».
|
В этом макросе определяется номер уровня заголовка, если уровень меньше 5, то... если больше 5 то...
|
Sta1917, меня не это интересует. Я не пойму, что значит «находится в диапазоне».
|
Если выделенный объект находится в пределах заголовка 1 уровня - то это основной текст
Если выделенный объект находится в пределах заголовка 5 уровня - то это приложения
Диапазоном я назвал заголовки
с 1 по 4 уровень (основной текст)
с 4 по 9 уровень (приложения)
|
Sta1917, в каких «пределах», в каком «диапазоне» находится точка вставки на следующем скриншоте:
?
|
Находится в заголовке второго уровня, в "пределах" первого заголовка, "диапазон" от 1 до 4 заголовка.
"Пределы" и "Диапазоны" это условность разбивающая оформление документа на две части: основной текст и приложения. Надеюсь не очень Вас запутал.
|
Время: 12:05.
© OSzone.net 2001-