powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Используйте Option Explicit!
25 сообщений из 40, страница 1 из 2
Используйте Option Explicit!
    #36547261
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напишите в заголовке каждого своего модуля (то есть перед всеми другими переменными, функциями и процедурами):
Код: plaintext
Option Explicit


Что это значит?
Это значит, что отныне все переменные, которые вы используете, нужно будет объявить явно с помощью оператора объявления Dim .
То есть, если у вас есть процедура:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Command1_Click()

For i =  1  To  5 
  k = "Проход №" + CStr(i)
  '..............
  '..............
Next

End Sub
она должна стать такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Command1_Click()

Dim i As Integer, k As String
For i =  1  To  5 
  k = "Проход №" + CStr(i)
  '..............
  '..............
Next

End Sub


Зачем это нужно?
Если я (или кто-то другой) дал вам ссылку на этот пост, значит в своей программе вы допустили ошибку или проявили непонимание, которые можно устранить с помощью Option Explicit. Дело в том, что в случае отсутствия этой опции, VB/VBA встретив незнакомое ему слово, считает его новой переменной. Хотя вы, скорее всего, имели ввиду совершенно другое.


Типичные ошибки:
Код: plaintext
1.
2.
3.
4.
MyNiceVariable =  5 
'..............
If MyNceVariable =  5  Then '<= опечатка в имени переменной, условие не выполнится
                          'VBA решит, что вы ввели новую переменную
Код: plaintext
1.
2.
y = xmod10 'вариант ошибки в синтаксисе (вместо y = x mod 10)
           'VBA решит, что xmod10 - это новая переменная
Код: plaintext
1.
2.
Workbooks(Книга1).Close 'ошибка в использовании текстовой константы (нет кавычек)
                        'VBA решит, что Книга1 - это новая переменная
Код: plaintext
1.
2.
3.
4.
5.
6.
k = "Hello World"
'..............
'..............
'..............
p = k +  5  'использование переменной неверного типа (так как тип переменной
          'не объявлен явно в Dim)

Это далеко не полный перечень возможных ошибок. Еще раз повторю, что использование Option Explicit существенно сократит время решения вашей задачи, потому что вместо ожидания ответа на форуме вы получите вполне осмысленное сообщение от компилятора.

Tools => Options => Editor => Require Variable Declaration
Включите этот флажок и Option Explicit будет появляться автоматически в новых модулях (в старых не появится, нужно будет прописать вручную)

================================================================

Этот пост был написан специально для того, чтобы давать на него ссылки, ибо по моим наблюдениям, количество тех, чьи проблемы решило бы изложенное здесь, довольно велико.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36547665
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как бы им и будущим поколениям внушить ссылку на этот пост?
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36547729
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Antonariy
> Как бы им и будущим поколениям внушить ссылку на этот пост?

Попросить модератора "прилепить" топик :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36552380
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

Я бы сделал это или факом, или десяткой советов как в форуме sql.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36552448
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeЯ бы сделал это или факом, или десяткой советов как в форуме sql.

Придется писать еще девять?
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36552461
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: big-duke
> Я бы сделал это или факом, или десяткой советов как в форуме sql.

ну тогда тебе и картыкнопку в руки :D
Я за

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36555122
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

Я все-таки предлагаю автору добавить новый топик в FAQ с указанием нового раздела Visual Basic.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36555263
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил.

Правда эта форма не работает в FF. Пришлось через Оперу.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36555576
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: big-duke

Теперь понял :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36574063
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-duke,

Раз уж ты здесь... Что-то не появляется в FAQ статья. Или не ты отвечаешь за это дело?
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36575543
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

я написал Алексу, надеюсь, что в ближайшее время вопрос будет решен.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36575625
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: big-duke
> я написал Алексу, надеюсь, что в ближайшее время вопрос будет решен.

SQL.RU
Информация

У вас нет прав на чтение данного форума.






Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36577017
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нельзя ли это форум переименовать в "Visual Basic 6 "? А то многие считают, что VB.NET это сюда.

Jah loves you.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36577024
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyА нельзя ли это форум переименовать в "Visual Basic 6 "? А то многие считают, что VB.NET это сюда.

Jah loves you.

да пусть пишут. найдём, что ответить или послать куда надо
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36577031
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это я к тому, что уж лучше .NET, чем вопросы про MS Office макросы
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36577882
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Выдержка из правил форума
MagnusVBA(Word, Excel), VBS также охватываются тематикой форума
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36577945
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-duke,

Да никто не спорит против правил, только вопросы по VBA совсем детские стали
AndrF©С чем было интересно остальные для себя уже разобрались - дальше уже стало просто неинтересно...
Так хоть что-то новое :)
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36688029
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Probig-duke,

Раз уж ты здесь... Что-то не появляется в FAQ статья. Или не ты отвечаешь за это дело?
Раздел добавлен , так что - вперед.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36688037
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeShocker.Probig-duke,

Раз уж ты здесь... Что-то не появляется в FAQ статья. Или не ты отвечаешь за это дело?
Раздел добавлен , так что - вперед.

Ох, ё... я ж его адаптировал тогда...
Ну ладно, сделаю еще раз, спасибо.
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36689997
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНу ладно, сделаю еще раз, спасибо.
отправил
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36690641
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Your faq , enjoy,
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36690651
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз уж у нас появился собственных раздел, надо срочно туда еще че-нить понаписать
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36690675
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Я давно собирался по lastusedrow для Excel
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36690687
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeShocker.Pro,
Я давно собирался по lastusedrow для Excel
Кстати, да, всплывает...
Но я плаваю в этой теме, помочь не могу :-/
...
Рейтинг: 0 / 0
Используйте Option Explicit!
    #36691619
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу предложить это .
Как думаете, стоит?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Используйте Option Explicit!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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