Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel: сбрасывает на xlCalculationManual при каждом запуске / 14 сообщений из 14, страница 1 из 1
12.12.2007, 17:48:00
    #35005398
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
На одном компе происходит такая фигня: При каждом запуске Excel'я параметр - вычисления установлен на - вручную. Смена его на автоматическое сохраняется только до следующего закрытия-открытия Excel'я.
Вся эта ерундень происходит только при наличи одного файла-xls с макросами, который лежит в папке автозапуска /XLSTART. В файле принудительного Application.Calculate = xlCalculationManual - нет. Непонятно, почему из-за его только одного присутствия происходит сброс настроек вычисления в Excel.
Ситуацию еще больше запутывает то, такие непонятки с этим файлом происходят только на определенном компе, на остальных компах Excel с этим файлом работает нормально и настройки сохраняются.

Может есть какие-нибудь мысли?
...
Рейтинг: 0 / 0
12.12.2007, 17:55:25
    #35005440
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
см.здесь: http://www.decisionmodels.com/calcsecretsh.htm

Charles Williams"Excel sets the initial calculation mode from the first non-template, non-addin workbook opened, or created and calculated.

This means that the calculation mode setting in subsequently opened workbooks will be ignored.

If you need to override the way Excel initially sets the calculation mode you can set it yourself by creating a module in ThisWorkbook (doubleclick ThisWorkbook in the Project Explorer window in the VBE), and adding this code. This example sets calculation to Manual.

Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
End Sub

Unfortunately if calculation is set to Automatic when a workbook containing this code is opened, Excel will start the recalculation process before the Open event is executed. The only way I know of to avoid this is to open a dummy workbook with a Workbook open event which sets calculation to manual and then opens the real workbook."

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
13.12.2007, 02:03:43
    #35006131
Бабай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
вероятно у вас Xlstartеще лежит какой-то из шаблнов по умолчанию - Book.xlt или Sheet.xlt,
который сохранен с включенным режимом ручного пересчета.
тогда и всякая новая книга будет создаваться в этом же режиме.
откройте шаблон, смените режим на автоматический пересчет и сохраните измененный таким образом шаблон. все должно нормализоваться.

http://office.microsoft.com/en-us/excel/HP052292861033.aspx
...
Рейтинг: 0 / 0
13.12.2007, 08:10:34
    #35006231
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
Не особо секу в этом, но у меня неоднократно было такое, что открываешь с форума файл и бабац настройки на ручной пересчёт слетели, хотя в файле макроса не было который бы переключал.
...
Рейтинг: 0 / 0
13.12.2007, 11:58:42
    #35006904
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
Поправьте меня, если я не прав:
Из этого топика http://www.decisionmodels.com/calcsecretse.htm я понял, что Application.Calculation действует на ВСЕ открытые workbook'и.
Но при этом это свойство Application.Calculation сохраняется в каждой workbook. Но это свойство учитывается только у первой открытой workbook, который и переводит Application.Calculation в свое состояние, а для всех остальных загруженных workbook приходится мирится с этим Application.Calculation или через VBA программным способом менять его.

Насчет шаблонов, пользователь говорит обратное - якобы наоборот в принудительном порядке был сохранен шаблон с автоматическими вычислениями - и ничего. Тогда как стоит только убрать мой xls-файл - вычисления сразу сбрасываются на manual после перезагрузки Excel. Посылал им свой новый проверенный файл, тоже самое - у них сбрасывает на manual, себе его ставил - все ок, никакого сброса на manual.
...
Рейтинг: 0 / 0
13.12.2007, 12:01:58
    #35006921
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
SergeySVТогда как стоит только убрать мой xls-файл - вычисления сразу сбрасываются на manual после перезагрузки Excel.
Описался, наоборот конечно, при добавлении моего файла в XLstart настройки сбрасываются на manual.
...
Рейтинг: 0 / 0
13.12.2007, 13:34:53
    #35007354
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
SergeySVПоправьте меня, если я не прав:
Из этого топика http://www.decisionmodels.com/calcsecretse.htm я понял, что Application.Calculation действует на ВСЕ открытые workbook'и.
Но при этом это свойство Application.Calculation сохраняется в каждой workbook. Но это свойство учитывается только у первой открытой workbook, который и переводит Application.Calculation в свое состояние, а для всех остальных загруженных workbook приходится мирится с этим Application.Calculation или через VBA программным способом менять его.

Ты все правильно понял.

1) Calculation - это параметр объекта Application, а значит действует на все файлы открытые в данной инстанции Excel
2) настройки параметра Calculation (почему-то) сохраняются на уровне файла
3) первый открытый файл задает эту настройку до закрытия Excel или до эксплицитного изменения параметра с пом. VBA или вручную через меню или соотв. комбинацию клавишь.
...
Рейтинг: 0 / 0
13.12.2007, 16:35:01
    #35008144
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
Видимо придется все-таки ползти к пользователю, изучать обстановку на месте так сказать.

Предложенный мной временный вариант с треском провалился. Я предложил добавить строку Application.Calculation = xlManual.... в злополучный xls-файл в макрос auto_open().
Оказалось, что если книга с макросами грузится в скрытом режиме (как правило все книги из XLSTART так и грузятся), то свойство Application.Calculation - НЕДОСТУПНО, пока не будет загружена хоть одна ВИДИМАЯ workbook - во как!
...
Рейтинг: 0 / 0
13.12.2007, 16:40:18
    #35008173
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
SergeySVВидимо придется все-таки ползти к пользователю, изучать обстановку на месте так сказать.

Предложенный мной временный вариант с треском провалился. Я предложил добавить строку Application.Calculation = xlManual.... в злополучный xls-файл в макрос auto_open().
Оказалось, что если книга с макросами грузится в скрытом режиме (как правило все книги из XLSTART так и грузятся), то свойство Application.Calculation - НЕДОСТУПНО, пока не будет загружена хоть одна ВИДИМАЯ workbook - во как!

Это ясно написано не только на предложенном мной сайте, но и в последнем абзаце цитаты, которую я опубликовал :-) Впрочем как и единственно известное решение.
...
Рейтинг: 0 / 0
13.12.2007, 16:45:39
    #35008207
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
SergeySVПоправьте меня, если я не прав:
Из этого топика http://www.decisionmodels.com/calcsecretse.htm я понял, что Application.Calculation действует на ВСЕ открытые workbook'и.
Но при этом это свойство Application.Calculation сохраняется в каждой workbook. Но это свойство учитывается только у первой открытой workbook, который и переводит Application.Calculation в свое состояние, а для всех остальных загруженных workbook приходится мирится с этим Application.Calculation или через VBA программным способом менять его.

Насчет шаблонов, пользователь говорит обратное - якобы наоборот в принудительном порядке был сохранен шаблон с автоматическими вычислениями - и ничего. Тогда как стоит только убрать мой xls-файл - вычисления сразу сбрасываются на manual после перезагрузки Excel. Посылал им свой новый проверенный файл, тоже самое - у них сбрасывает на manual, себе его ставил - все ок, никакого сброса на manual.

В моей цитате выше в первом абзаце написано, что шаблоны и надстройки не влияют на параметр Calculation (разве что запустив макрос). Потому и результат у пользователя - ничего
...
Рейтинг: 0 / 0
13.12.2007, 17:20:47
    #35008414
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
Формально да, не сработало.

Но помочь, помогло. При попытке Application.Calculation = xlCalculationAutomatic возникает ошибка, перескакивает на обработчик ошибок и выходит из макроса auto_open. Вроде бы эффекта ноль, а Calculation при этом остается xlCalculationAutomatic и на xlCalculationManual не сбивается.
...
Рейтинг: 0 / 0
13.12.2007, 18:34:38
    #35008730
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
2 KL (XL)

KL (XL) В моей цитате выше в первом абзаце написано, что шаблоны и надстройки не влияют на параметр Calculation (разве что запустив макрос).

выкладываю пример, демонстрирующий прямо обратное цитированному заявлению
для одного специального случая.

в архиве 3 файла - 2 шаблона и запускающий скрипт
разместите все файлы в одном и том же каталоге и заустите test.vbs
в результате вы получите файл с установленным ручным пересчетом.

нигде в коде не используется application.calculation
шаблон книги-результата сохранен с настройкой "автоматический пересчет"
шаблон книги-генератора сохранен с настройкой "ручной пересчет".
результат - ручной пересчет.

сохраните шаблон книги-генератора с установкой "автоматический пересчет"
и вы получите результат с автоматических пересчетом.


2 SergeySV
посмотрите - может быть пример чем-то похож на вашу ситуацию...
...
Рейтинг: 0 / 0
13.12.2007, 20:25:32
    #35008955
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
boobyвыкладываю пример, демонстрирующий прямо обратное цитированному заявлению
для одного специального случая.

1) Похоже информация от Ч.Уильямса про шаблоны действительно устарела. Если не ошибаюсь, статья писалась еще во времена XL97 и с тех пор неоднократно обновлялась. Вероятно этот аспект ускользнул от внимания автора (я дам ему знать)

2) Для демонстрации того, что шаблоны меняют настройку, думаю, не надо было городить такой огород. Достаточно было положить шаблон Книга.xlt (в моем случае Book.xlt) в папку XLSTART и последовательно открывать Excel, предварительно меняя настройку Calculate в шаблоне.

3) Вцелом, за исключением указанного несоответствия, логика все та же. Если шаблон имеет расчеты в автом. режиме, то последующие файлы ее не меняют даже если они были сохранены с ручной настройкой, и наоборот.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
14.12.2007, 16:06:44
    #35011081
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: сбрасывает на xlCalculationManual при каждом запуске
Насчет шаблонов интересно, не знал.

Моя же проблема решилась непонятным для меня образом.
Я притащил пользователю свой xls-файл, скопировал в папку XLStart(других файлов там нет) и все. Вычисления автоматич. и на ручной не перескакивает как я не экспериментировал. Так я и не увидел этот глюк вживую, остается только положится на слова пользователя что он был.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel: сбрасывает на xlCalculationManual при каждом запуске / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]