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

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
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
    #32247042
Pestov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй следующий код, где вместо явного объявления листбокса используй объект 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
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
    #32247073
Pestov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за очепятку: нужно
Код: plaintext
1.
    MsgBox (lb.ListCount)
...
Рейтинг: 0 / 0
Type mismatch, run-time error 13 в Экселе, а в Ворде нет???
    #32247124
SashaCrane
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ура, заработала!!!
Спасибо ОГРОМНОЕ

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


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