Здравствуйте, уважаемые эксперты! Есть программный код, объединяющий однотипные файлы отчетов, находящихся в папке запуска сводного файла. В этой же папке находится файл - шаблон (или отдельный или любой выбранный из отчетов, в представленном случае АБДДС.xlsb), с которого в своде выставляется число и размер листов, оформление и формулы. Впринципе, особенно после последней помощи на форуме, все работало. Однако, для рещения проблем с перекрестными ссылками листов друг на друга было реализовано удвоение циклов - 1) для сбора данных 2) для расставления формул. При открытии файла шаблона через Workbooks.Open - все было слегка медлено, а заменой на Get object - все стало в 10 раз быстрее! Но, вероятно замена была не достаточно корректная или грамотная. а)Но код стал работать следующим образом: при запуске в своде с одинаковым количеством листов с шаблоном - 3 секунды и так сколько угодно раз, если поменять в своде количество листов - код сразу работает в 13 раз медленнее и после этого при последующих запусках уже при одинаковом колличестве листов код продолжает работать с такой-же скоростью. б)И самое главное - если при открытом файле свода - открыть файл шаблона (АБДДС.xlsb) и в нем произвести изменения (например добавить число в незащищенную ячеку) и сохранить изменения. То при последущем запуске кода мы получаем ошибку: Run-time error '-2147467259 (80004005)': Automation error Unspecified error после этого, при попытке открыть файл-шаблон появляется сообщение о "содержимое, которое не удалось прочитать" и "Восстановленные записи: Свойства вычислений из части /xl/workbook.bin (Книга)", дальше если сохранить изменения в файле-шаблоне, оказывается, что файл с таким именем уже существует и его надо перезаписать - что и делаю. После этого при запуске кода - опять начинается его медленное исполнение. Но если закрыть файл свода и открыть его заново - код опять летает! Подозреваю, что в коде напутал "методы и коллекции" - но разобраться без специалиста не по силу. С уважением,
Здравствуйте, уважаемые эксперты! Есть программный код, объединяющий однотипные файлы отчетов, находящихся в папке запуска сводного файла. В этой же папке находится файл - шаблон (или отдельный или любой выбранный из отчетов, в представленном случае АБДДС.xlsb), с которого в своде выставляется число и размер листов, оформление и формулы. Впринципе, особенно после последней помощи на форуме, все работало. Однако, для рещения проблем с перекрестными ссылками листов друг на друга было реализовано удвоение циклов - 1) для сбора данных 2) для расставления формул. При открытии файла шаблона через Workbooks.Open - все было слегка медлено, а заменой на Get object - все стало в 10 раз быстрее! Но, вероятно замена была не достаточно корректная или грамотная. а)Но код стал работать следующим образом: при запуске в своде с одинаковым количеством листов с шаблоном - 3 секунды и так сколько угодно раз, если поменять в своде количество листов - код сразу работает в 13 раз медленнее и после этого при последующих запусках уже при одинаковом колличестве листов код продолжает работать с такой-же скоростью. б)И самое главное - если при открытом файле свода - открыть файл шаблона (АБДДС.xlsb) и в нем произвести изменения (например добавить число в незащищенную ячеку) и сохранить изменения. То при последущем запуске кода мы получаем ошибку: Run-time error '-2147467259 (80004005)': Automation error Unspecified error после этого, при попытке открыть файл-шаблон появляется сообщение о "содержимое, которое не удалось прочитать" и "Восстановленные записи: Свойства вычислений из части /xl/workbook.bin (Книга)", дальше если сохранить изменения в файле-шаблоне, оказывается, что файл с таким именем уже существует и его надо перезаписать - что и делаю. После этого при запуске кода - опять начинается его медленное исполнение. Но если закрыть файл свода и открыть его заново - код опять летает! Подозреваю, что в коде напутал "методы и коллекции" - но разобраться без специалиста не по силу. С уважением, Lenokk2000
небольшое дополнение: Ошибка появляется на строке: Set d = GetObject("" & pthh & m) 'Run-time error '-2147467259 (80004005)': 'Automation error 'Unspecified error С уважением,
небольшое дополнение: Ошибка появляется на строке: Set d = GetObject("" & pthh & m) 'Run-time error '-2147467259 (80004005)': 'Automation error 'Unspecified error С уважением,Lenokk2000
Можно спросить: а почему? Вернее: должно ли это условие соблюдаться со всеми парами свод - шаблон - одинаковое расширение, или проблема именно с xlsb?
И совсем маленкий вопросик, если можно.. Никак не могу найти (или подобрать) как если: Dim m As String и m = "AБДДС.xlsm", вставить m (или другую переменную) вместо AБДДС.xlsm: Cells.Replace What:="[AБДДС.xlsm]", replacement:=""
Еще раз, благодарю! С уважением!!!
Спасибо огромное!
Можно спросить: а почему? Вернее: должно ли это условие соблюдаться со всеми парами свод - шаблон - одинаковое расширение, или проблема именно с xlsb?
И совсем маленкий вопросик, если можно.. Никак не могу найти (или подобрать) как если: Dim m As String и m = "AБДДС.xlsm", вставить m (или другую переменную) вместо AБДДС.xlsm: Cells.Replace What:="[AБДДС.xlsm]", replacement:=""