|
0 / 0 / 0
Регистрация: 08.09.2009
Сообщений: 5
|
||||||
Макрос автосохранения работает по-разному на разных машинах29.04.2012, 09:31. Показов 3322. Ответов 17
Метки нет (Все метки)
Всем доброе время суток.Написал макрос автосохранения определенной excel книги.
На одном компе все вроде работает нормально.Неважно какая книга активна на данный момент, нужная сохраняется в хайд-режиме, видет только статус бар сохранения внизу. На другой машине все совсем иначе, при автосохранение активируется нужная книга, сохраняется и сама по себе закрывается и открывается предыдущая, и так всегда пока крутится макрос. и иногда создаются непонятные файлы типа AOE33300 , в той же папке ,куда идет автосохранение. В чем может быть причина такой не понятной ситуации или ошибка? Вот код.
0
|
||||||
| 29.04.2012, 09:31 | |
|
Ответы с готовыми решениями:
17
Приложение по разному работает на разных пк По-разному работает на разных телефонах |
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
||||||
| 22.10.2015, 13:27 | ||||||
|
Здравствуйте. Удалось разобраться с этой напастью? Если д, поделитесь решением, у меня такая же проблема. макрос работает корректно в excel 2010, и некорректно в 2007 (сам открывает книгу). только код у меня проще:
0
|
||||||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 26.10.2015, 13:54 | |
Сообщение было отмечено Памирыч как решение
Решение
Maklaut, много ненужного в вашей программе!
1. BeforeSave работает только тогда, когда прошла уже команда Save string 22. В этой процедуре вы можете что-то ещё делать, но запись всё равно пройдет. 2 Если речь идет о сохранении себя, то просто надо убрать из текста программы строки 5-9, а вместо 22 поставить 7 и всё будет хорошо на любом офисе. 3 В операторе 18 описка dir от самого себя, видимо в скобках должно стоят ifullname. Хотя эти операторы (17,18,21,23,24)тоже не нужны, когда речь идет о самосохранении. 4 Если нужно сохранить другую книгу, которая должна быть открыта в ексел (а может и нет), то поиск ее нужно осуществлять в семействе WorkBooks: TF=true for each Wb in WorkBooks if Wb.name=ifilename then TF=false сохранение книги ifilename, если не сохранена end if next if TF then Нет такой книги
0
|
|
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
|
| 26.10.2015, 14:09 | |
|
А что по поводу моего кода скажете? там-то ничего нет лишнего?
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 27.10.2015, 10:28 | |
|
А у вас обратная ситуация, маленечко чего-то не хватает
Общая идея у вашего коллеги правильная - при открытии надо запустить таймер и определить макрос, который будет выполняться, это делается в WorkBook_Open. По истечение времени работает макрос проверки необходимости сохранения и таймер перезаряжается. А у вас получается рекурсивное обращения на себя (на ваш макрос) и как реагируют разные офисы на такие непонятки, а господь знает. А вот Beforesave совсем не нужна, если только не надо сделать, что-то, не относящееся к записи файла т.к. она уже сработает неминуемо (запись) Мой мэйл вырезано, если хотите, то вышлю xls-file с переделанной задачей МАКЛАУТа.
1
|
|
|
0 / 0 / 0
Регистрация: 26.06.2011
Сообщений: 3
|
|
| 19.04.2019, 13:01 | |
|
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 19.04.2019, 15:30 | |
|
Shkur, вы не обратили внимание, что мое последнее сообщение по этой теме датируется 27.10.2015 в 19:58 И вы думаете, что я до сих пор помню куда положил файл с задачей МАКЛАУТА? Проще вам создать тему с проблемой и кто-то, почти наверняка, поможет, может и я успею вклиниться.
0
|
|
|
5 / 5 / 0
Регистрация: 13.11.2016
Сообщений: 90
|
|
| 26.06.2019, 01:31 | |
|
Как сделать так чтоб сохранялись и закрывались все книги после клика на крестик в правом верхнем углу?
0
|
|
|
198 / 132 / 67
Регистрация: 27.03.2019
Сообщений: 288
|
||||||
| 26.06.2019, 07:36 | ||||||
|
rediffusion, В модуль книги вставьте этот код, будут закрываться все открытые эксельки с сохранением.
0
|
||||||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 26.06.2019, 07:52 | |
|
rediffusion, если в одной "главной книге" прописать в обработчике событий
Private Sub Workbook_BeforeClose(Cancel As Boolean) закрытие всех остальных книг с проверкой необходимости сохранения каждой. Начинать Закрытие с этой главной. Если она находится в окне, то можно закрыть через красный крест. Пока ничего другого на ум не приходит. Добавлено через 7 минут Kate_27, тогда ваш код надо будет вставить во все открываемые книги.
0
|
|
|
198 / 132 / 67
Регистрация: 27.03.2019
Сообщений: 288
|
|
| 26.06.2019, 07:59 | |
|
Burk, нет, достаточно только одной книги, с этим кодом, остальные закроются, потом закроется она. Крестик естественно надо нажать на книге, содержащей код.
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 26.06.2019, 08:11 | |
|
Kate_27, так я про это и писал, только у меня термин Главная книга
Добавлено через 8 минут Думаю, что rediffusion хотел чтобы при нажатии на красную всё закрывалось при любых книгах. Если бы был обработчик события закрытия Application, тогда бы это было выполнимо, но я такого не знаю.
1
|
|
|
198 / 132 / 67
Регистрация: 27.03.2019
Сообщений: 288
|
|
| 26.06.2019, 08:16 | |
|
Burk, нет, достаточно только одной книги, с этим кодом, остальные закроются, потом закроется она. Крестик естественно надо нажать на книге, содержащей код.
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 26.06.2019, 08:27 | |
|
Мне что, тоже повторить мою фразу про Главную?
1
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
| 26.06.2019, 08:45 | ||||||
|
Если сохранить нижеопубликованный код строго в модуле ThisWorkbook(ЭтаКнига) личной книги макросов "Personal.xls(b)" , то при следующем запуске приложения (или выполнении события Open), можно будет кликать на крестик в любой книге. Правда новые+не сохранённые книги также будут закрыты, что приведёт к потере всех данных, но это уже мелочи
![]()
1
|
||||||
|
198 / 132 / 67
Регистрация: 27.03.2019
Сообщений: 288
|
|
| 26.06.2019, 08:49 | |
|
Burk, очевидно же, что у меня интернет залагал, поэтому 2 сообщения отправилось.
Обработчик уровня application можно прописать, только нужно создавать дополнительный класс для этого. Добавлено через 30 секунд Burk, очевидно же, что у меня интернет залагал, поэтому 2 сообщения отправилось. Обработчик уровня application можно прописать, только нужно создавать дополнительный класс для этого.
0
|
|
|
Заблокирован
|
|
| 26.06.2019, 09:57 | |
|
Kate_27, в следующий раз отправьте ... (три точки, или ёёё), потом можете править дубли до умопомрачения.
0
|
|
|
5 / 5 / 0
Регистрация: 13.11.2016
Сообщений: 90
|
||
| 26.06.2019, 10:36 | ||
|
Kate_27,
Извините но это не то. Похожие коды я находил в `Youtube` и на `StackOverflow`. Не робит! ![]() pashulka, Это именно то что мне и было нужно. 1000 раз спасибо! 1 месяц поисков наконец подошли к концу!
0
|
||
| 26.06.2019, 10:36 | |
|
Помогаю со студенческими работами здесь
18
почему в разных ОС по разному работает IntelliJ Компьютер работает по разному в разных квартирах Ssd работает по разному на разных материнках? Программа работает по-разному на разных компах Макрос в файле ексель, который находится на сервере, у 2 пользователей работает по-разному Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|