Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Type mismatch, run-time error 13 в Экселе, а в Ворде нет??? / 8 сообщений из 8, страница 1 из 1
26.08.2003, 08:43
    #32246991
SashaCrane
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
На форме лежит листбокс и кнопка
имеем процедуру

Private Sub CommandButton1_Click()
Dim lb As ListBox
Set lb = ListBox1
MsgBox (lb.ListCount)
End Sub

В Ворде работает ав Экселе НЕТ! После вылета ошибки Type mismatch 13
жму Дебаг и подводя мышой к
Set lb = ListBox1
Над ListBox1 высвечивается Null

Чего не так? Проверил Referenses в Экселе есть все те которыеесть в Ворде и даже больше...
Как решить эту проблему? У меня Office XP
...
Рейтинг: 0 / 0
26.08.2003, 09:40
    #32247042
Pestov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
Используй следующий код, где вместо явного объявления листбокса используй объект control:
Код: plaintext
1.
2.
3.
4.
5.
Private Sub CommandButton1_Click()
    Dim lb As Control
    Set lb = ListBox1
    MsgBox (ListBox1.ListCount)
End Sub

Не знаю с чем это связано, но такие приколы именно в ХПшнике и происходят, я столкнулся с этим, когда создавал отчеты из Акссеса выводом в Эксель, и там то как раз не получалось использовать объект Excel, а только object
...
Рейтинг: 0 / 0
26.08.2003, 10:09
    #32247073
Pestov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
Прошу прощения за очепятку: нужно
Код: plaintext
1.
    MsgBox (lb.ListCount)
...
Рейтинг: 0 / 0
26.08.2003, 10:40
    #32247124
SashaCrane
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
Ура, заработала!!!
Спасибо ОГРОМНОЕ

Есть еще один вопрос:
когда написал lb. хотелось бы чтобы выпадали в подсказке (CodeComplite)
члены класса ListBox, а не всякая шушара...
Возможно ли в VBA делать приведение типов например как в C#:
((ListBox)lb).ListCount
...
Рейтинг: 0 / 0
26.08.2003, 10:54
    #32247157
Pestov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
В чем прикол я не знаю, но я делал так, вначале объявлял как listbox и соответственно комплитил все свойства и методы, а потом возвращал назад к контролу. Складывается ощущение что это баг, и по другому бороться с этим мне не удалось.
...
Рейтинг: 0 / 0
26.08.2003, 10:57
    #32247161
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
Это не баг ,а отличие в реализации UserForm ( VBA) и Form (VB).
...
Рейтинг: 0 / 0
26.08.2003, 11:01
    #32247167
Pestov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
А если по подробнее об различиях?
...
Рейтинг: 0 / 0
26.08.2003, 11:07
    #32247182
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
Отличий как грязи - добыто эмпирическим путем :
MaxButton,MinButton,BorderStyle и т.д. - это формы
Если для ListBox нужны картинки, то их надо положит в ImageList и руками связать его.
Типового меню тоже нет ну и т.д.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Type mismatch, run-time error 13 в Экселе, а в Ворде нет??? / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]