Excel 2003 VBA: макрос не найден - PullRequest
0 голосов
/ 28 января 2009

Я получаю сообщение об ошибке при вызове функции через метод OnTime Я попробовал то, что написано здесь (и даже опубликовал комментарий в конце), и я получаю сообщение об ошибке:

Макрос 'I: \ myFolder \ test.xls'! MacroName не найден

При вызове функции MacroName из любого места в скрипте она отлично работает.

Заранее благодарен за любую помощь

Ответы [ 4 ]

1 голос
/ 28 января 2009

Я почти уверен, что ваша проблема в том, что код находится не в стандартном модуле, а в модуле ThisWorkbook ... Я не уверен, почему, но код должен быть в стандартном модуле, чтобы работать, хотя вы можете попробовать изменить вызов метода OnTime на «ThisWorkbook.Subname»

0 голосов
/ 28 января 2009

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

Это может быть что-то еще, но каждый раз, когда отображается путь, я подозреваю, что я загрузил что-то из другого места, и Excel все еще (правильно, так как он не знает, что вы переместили файл) ищет макрос в исходном местоположении.

0 голосов
/ 28 января 2009

Да, путь совпадает. это мой первый в истории макрос, поэтому я рекомендую его:)
Как ни странно, теперь это работает, но только когда MacroName помещается в новый модуль.

Как это можно объяснить?

0 голосов
/ 28 января 2009

Проверяли ли вы " безопасность на макроуровне " в соответствии с этой технической заметкой Microsoft ?

В меню Сервис выберите Макрос, а затем нажмите Безопасность. На вкладке Уровень безопасности измените настройку на Средний или Низкий.

ПРИМЕЧАНИЕ. Требуемая настройка зависит от ваших обстоятельств. По умолчанию в Excel средний.


Теперь, когда дело доходит до кода MacroName , , вы можете поместить процедуру события только в модуль ThisWorkbook (т.е. Macro_Name).

Другие процедуры должны выполняться в обычном модуле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...