Модераторы: mihanik

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Option Explicit (VBA), VBA ругается на отсутствие описания пере 
V
    Опции темы
НеуФазендник
Дата 25.8.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Доброго здравия всем! Помогите решить проблемку.
У меня есть пакет макросов VBA, который был написан мною собственноручно.
Он пережил уже 2 ноутбука и 3 обычных компьютера, на которых работал без сбоев.
Он работал под office ХP и под 2003.
Но вот недавно перенес его на новую машину. Нулёвый комп. На нем чистая инсталляция Win ХP и 2003 office. Всё как всегда. Ничего нестандартного. 
НО!!! Не работают мои макросы в Excele по банальной причине:
Интерпретатор VBA пытается искать описание ряда необьявленных переменных, и не находя его стопорится с сообщением - неизвестная функция. Стоит прописать явно через Dim - и всё работает. Но - таких неописанных переменных в этом пакете подпрограмм у меня более 1000. Я буду неделю его переделывать. Интерпретатор (компиллятор может) не признает option explicit с какими-либо параметрами. Детальной контекстной справки тоже нет. Как отключить явное описание переменных? Подскажите пожалуйста!
PM MAIL   Вверх
mihanik
Дата 25.8.2007, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Tools / Options 

Снять галку с 
Require Variable Declaration

Должно помочь...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
НеуФазендник
Дата 25.8.2007, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Спасибо. Я тоже думал, что там должно быть. Но что-то не смог ничего изменить.
Толи невнимательно смотрел, то-ли не помогла галка.
Нет этого компа сейчас рядом. В понедельник еще проверю.
Надеюсь на лучшее - что я - дятел smile не там искал галку smile
Помнится мне, что я смотрел в VBA Project properties, а не в Options.
PM MAIL   Вверх
Akina
Дата 26.8.2007, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(mihanik @  25.8.2007,  21:00 Найти цитируемый пост)
Tools / Options 

Снять галку с 
Require Variable Declaration

Должно помочь...

Нет. Эта установка управляет всего лишь автоматическим (не)добавлением строки Option Explicit в начало любого новосоздаваемого модуля, и не влияет на уже существующие.

НеуФазендник, тебе придется вручную удалить (но лучше - закомментировать) строки Option Explicit во всех модулях. Но рассматривай это как временную меру - то есть все-таки внеси в код все необходимые декларации и затем раскомментируй эту строку.
На будущее - не пренебрегай Option Explicit. Она порой помогает вылавливать ляпы, которые без нее можно искать месяцами, и не находить...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
НеуФазендник
Дата 27.8.2007, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Проверил. Галка действительно не при чем.
Akina, вся фишка в том, что я не ставил нигде Option Explicit .
А если его добавил редактор??, то по крайней мере стандартный поиск по модулю (проекту)его не находит.
Т.е. в моём проекте он, вроде как, не присутствует.
Вот беда-то.
PM MAIL   Вверх
Akina
Дата 27.8.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(НеуФазендник @  27.8.2007,  10:16 Найти цитируемый пост)
А если его добавил редактор?

Исключено. Впрочем, можно прверить - скопируй текст в новый модуль, старый прибей... 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
НеуФазендник
Дата 1.9.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Цитата(Akina @ 27.8.2007,  10:02)
Впрочем, можно прверить - скопируй текст в новый модуль, старый прибей...

Не совсем понял, что именно будет проверенно копированием.
Поиск по <Сtrl>-<F> не находит во всем модуле ни одного Explicit.
Или предложение скопировать - просто как вариант шаманской операции, которая может вправить мозги интерпретатору/компилятору? (- до сих пор не знаю, компилирует VBA или интерпретирует, или это вообще гибрид обех операций smile

Это сообщение отредактировал(а) НеуФазендник - 1.9.2007, 20:28
PM MAIL   Вверх
НеуФазендник
Дата 12.9.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Ура. Копирование спасло.
Но скопировать, создав новый модуль и прибить старый оказалось мало.
Пришлось еще и по отдельности скопировать все рабочие листы в новую книгу. Вот так всё заработало.
Вот же , блин, чудо техника.
Спасибо.
PM MAIL   Вверх
Akina
Дата 12.9.2007, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20580
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(НеуФазендник @  12.9.2007,  19:30 Найти цитируемый пост)
Вот же , блин, чудо техника.

Не стОит списывать последствия "грязного стиля программирования" на технику. ИМХО.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mihanik
Дата 16.9.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Помечу решённым!!!

Модератор: 
Граждане!!! Не забывайте помечать вопросы решёными!!!


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
НеуФазендник
Дата 26.9.2007, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Цитата(mihanik @  16.9.2007,  15:59 Найти цитируемый пост)
Помечу решённым!!!

Sorrу.
Галку-то ставил же.
Специально ж заглядывал в последний раз, чтобы поблагодарить и закрыть вопрос.

Еще раз спасибо!


Это сообщение отредактировал(а) НеуФазендник - 26.9.2007, 19:28
PM MAIL   Вверх
kall1sto
Дата 26.10.2007, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



У меня возникла таже ситуации, все начиналось с темы начало там при копировании на другой комп, все переменные не определены. Как я поимаю должно быть либо explicit либо не стоять галка Require Variable Declaration
так?
мои действия.
1. Скопировал. Запустил не работает.
2. Прописал везде explicit. Запустил не работает. Закрыл без сохранения.
3. Открыл. Думаю уберу галку с  Require Variable Declaration, но она не стоит, поставил проверил, таже фигня... че делать.?

Добавлено через 4 минуты и 3 секунды
На выходных не смогу проверить, в понедельник проверю.

Это сообщение отредактировал(а) kall1sto - 26.10.2007, 17:55
PM MAIL   Вверх
kapbepucm
Дата 29.10.2007, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 3
Всего: 12



kall1sto, a в чём проблема переменные объявить- их же там не много? См. мой код на 2 странице. Отрывок:
Код
  Const MDBFileName As String = "полный путь к базе"
  Dim wrkJet As DAO.Workspace
  Dim DBS As DAO.Database
  Dim RST As DAO.Recordset
  Dim id_6 As Variant
  Dim min_d As Long, max_d As Long 'границы диапазона
  Dim I As Long
  Dim idnumber As Long
  Dim s As String, f As String 'время начала и конца задания
  Dim X As Long, MaxX As Long
Проблем меньше и порядок лучше smile

Это сообщение отредактировал(а) kapbepucm - 29.10.2007, 09:39


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
kall1sto
Дата 29.10.2007, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



я согласен тоже прописал все, сейчас выкидывает на слове Right... я думаю это таже проблема, (нет какой-то библиоетки, которая и переменные объявляет и некоторый синтаксис....
PM MAIL   Вверх
kapbepucm
Дата 29.10.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 3
Всего: 12



Выкидывает на первой и второй машине? Или только на второй?


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1001 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.