Текстовое значение автофигуры

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vint44
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 08.02.2004 (Вс) 14:46

Текстовое значение автофигуры

Сообщение vint44 » 11.02.2004 (Ср) 15:44

Люди! Какое свойство хранит текстовое значение автофигуры (например прямоугольника) в Excel?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 12.02.2004 (Чт) 9:05

А что такое "текстовое значение автофигуры"? :?

Ilya Vasilyev
Постоялец
Постоялец
 
Сообщения: 820
Зарегистрирован: 06.08.2002 (Вт) 5:36
Откуда: Russia, Omsk

Сообщение Ilya Vasilyev » 12.02.2004 (Чт) 9:53

Текстовое значение автофигуры хранит текстовое значение (автофигуры) :D
Изображение
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали

vint44
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 08.02.2004 (Вс) 14:46

Сообщение vint44 » 12.02.2004 (Чт) 14:49

Какое свойство хранит текстовое значение автофигур я разобрался, это:
shapes(inc1).DrawingObject.Text или
shapes(inc1).DrawingObject.Caption.

Но в этом случае возникает другой вопрос: не у всех элементов коллекции есть эти свойства, т.е. коллекция хранит разные по структуре объекты. И когда я пробегаю по коллекции в цикле, на тех элементах коллекции которые не имеют данных свойств, возникает ошибка. Подскажите есть ли функция, которая позволяет определить наличие заданного свойства в объекте. Обработка ошибок On Error не очень помогает.

Ilya Vasilyev
Постоялец
Постоялец
 
Сообщения: 820
Зарегистрирован: 06.08.2002 (Вт) 5:36
Откуда: Russia, Omsk

Сообщение Ilya Vasilyev » 13.02.2004 (Пт) 6:29

Какие тебе свойства-то нужны?
Изображение
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали

vint44
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 08.02.2004 (Вс) 14:46

Сообщение vint44 » 13.02.2004 (Пт) 10:53

так я эти свойства выше указал: Text и Caption объекта DrawingObject.
т.е. вот так:
shapes(inc1).DrawingObject.Text или
shapes(inc1).DrawingObject.Caption

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.02.2004 (Сб) 16:08

Ну для начала, есть свойство (у Shape) .AutoShapeType, смотришь по нему.
А во вторых, как ты используешь On Error? Такое работает почти всегда:
Код: Выделить всё
...
On Error Resume Next
For I = 1 To Shapes.Count
  S = vbNullString
  S = shapes(I).DrawingObject.Text
  If Err > 0 Then
    Err.Clear
    S = shapes(I).DrawingObject.Caption
    If Err > 0 Then
      Err.Clear
      S = vbNullString
    End If
  End If
  Debug.Print S
Next I
On Error Goto 0
...
Lasciate ogni speranza, voi ch'entrate.

vint44
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 08.02.2004 (Вс) 14:46

Сообщение vint44 » 17.02.2004 (Вт) 13:37

On Error у меня отрабатывал нормально только один раз в цикле, наверно из-за того, что я не выполнял Err.Clear.
Но я нашел другой выход, через проверку свойства AlternativeText, если оно не пустое, значит фигура имеет свойство DrawingObject.Text

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 18.02.2004 (Ср) 0:05

14/
Последний раз редактировалось Al Khamid 02.11.2007 (Пт) 13:04, всего редактировалось 1 раз.
"Время пришло..." ©

vint44
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 08.02.2004 (Вс) 14:46

Сообщение vint44 » 18.02.2004 (Ср) 12:25

А что это за метод objObject.Properties(strProperty) ?
У меня функция проверки sPropertyExist всегда возвращает False, есть неужное мне свойство или нет. А если я отключаю обработчик ошибок, то макрос начинает ругаться, что нет такой функции Properties. Искал ее в хелпе, тоже не нашел.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

    TopList