30.04.2010, 00:38
общий
это ответ
Здравствуйте, Ципихович Эндрю.
У каждой из InlineShapesе есть свойство OLEFormat. Через цикл Foreach проверяем это свойство. Например, у кнопки оно равно Forms.CommandButton.1, у списков Forms.ComboBox.1 и так далее.
Dim ci As Object
buttoncount=0
combocount=0
For Each Control In ActiveDocument.InlineShapes
If Control.OLEFormat.ClassType = "Forms.CommandButton.1" Then
buttoncount=buttoncount+1
End If
If Control.OLEFormat.ClassType = "Forms.ComboBox.1" Then
combocount=combocount+1
End If
Next
Второй вопрос:
Свойства Selection нет, но есть свойство Range. Нужно сравнить Selection.Range ( выделение в документе) с ActiveDocument.InlineShapes(i).Range. Нужно сравнить Start и End - начало и конец, которые представляют собой числа, и проверить, содержится ли отрезок элемента в отрезке выделения.
Приложение:
If ActiveDocument.InlineShapes(i).Range.Start >= Selection.Range.Start And ActiveDocument.InlineShapes(i).Range.End <= Selection.Range.End Then