Код Excel 2013 генерирует ошибку «Путь не найден» в Excel 365 - PullRequest
0 голосов
/ 29 декабря 2018

У меня есть код VBA из Excel 2013, который раньше работал.

ActiveWorkbook.Sheets("Template").Copy After:=ActiveWorkbook.Sheets(Sheets.Count)

Я перешел на компьютер с установленным Excel 365.

Я получу ошибки:

Путь не найден: '\ VBA3CD.tmp' 400

Имя файла VBA3CD.tmp будет каждый раз отличаться.Я уже "включил все макросы" в настройках безопасности Excel.

Я пробовал разные варианты одного и того же, например:

Set wsTemplate = Sheets("Template")
wsTemplate.Copy After:=Sheets(Sheets.Count)

Получение одного и того же "Путь не найден"ошибка.

1 Ответ

0 голосов
/ 30 декабря 2018

Если вы действительно получаете ошибку из-за того, что не можете что-то сделать с файловой системой из одной команды VBA, чтобы скопировать лист - который, очевидно, не касается файловой системы, это все в памяти - тогда что-то об этомлист, вероятно, пытается запустить код VBA.

Я только что проверил, и когда один копирует лист, копия запускает события WORKSHEET_CALCULATE и WORKSHEET_ACTIVATE.Может случиться так, что одно из этих событий или другое запускают код, которому нужен этот путь.Вам просто нужно проверить код VBA для копируемого листа - есть ли у него подпрограммы Worksheet_?

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