|
|
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
На одном компе происходит такая фигня: При каждом запуске Excel'я параметр - вычисления установлен на - вручную. Смена его на автоматическое сохраняется только до следующего закрытия-открытия Excel'я. Вся эта ерундень происходит только при наличи одного файла-xls с макросами, который лежит в папке автозапуска /XLSTART. В файле принудительного Application.Calculate = xlCalculationManual - нет. Непонятно, почему из-за его только одного присутствия происходит сброс настроек вычисления в Excel. Ситуацию еще больше запутывает то, такие непонятки с этим файлом происходят только на определенном компе, на остальных компах Excel с этим файлом работает нормально и настройки сохраняются. Может есть какие-нибудь мысли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2007, 17:48:00 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
см.здесь: 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] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2007, 17:55:25 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
вероятно у вас Xlstartеще лежит какой-то из шаблнов по умолчанию - Book.xlt или Sheet.xlt, который сохранен с включенным режимом ручного пересчета. тогда и всякая новая книга будет создаваться в этом же режиме. откройте шаблон, смените режим на автоматический пересчет и сохраните измененный таким образом шаблон. все должно нормализоваться. http://office.microsoft.com/en-us/excel/HP052292861033.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 02:03:43 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
Не особо секу в этом, но у меня неоднократно было такое, что открываешь с форума файл и бабац настройки на ручной пересчёт слетели, хотя в файле макроса не было который бы переключал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 08:10:34 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
Поправьте меня, если я не прав: Из этого топика http://www.decisionmodels.com/calcsecretse.htm я понял, что Application.Calculation действует на ВСЕ открытые workbook'и. Но при этом это свойство Application.Calculation сохраняется в каждой workbook. Но это свойство учитывается только у первой открытой workbook, который и переводит Application.Calculation в свое состояние, а для всех остальных загруженных workbook приходится мирится с этим Application.Calculation или через VBA программным способом менять его. Насчет шаблонов, пользователь говорит обратное - якобы наоборот в принудительном порядке был сохранен шаблон с автоматическими вычислениями - и ничего. Тогда как стоит только убрать мой xls-файл - вычисления сразу сбрасываются на manual после перезагрузки Excel. Посылал им свой новый проверенный файл, тоже самое - у них сбрасывает на manual, себе его ставил - все ок, никакого сброса на manual. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 11:58:42 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
SergeySVТогда как стоит только убрать мой xls-файл - вычисления сразу сбрасываются на manual после перезагрузки Excel. Описался, наоборот конечно, при добавлении моего файла в XLstart настройки сбрасываются на manual. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 12:01:58 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
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 или вручную через меню или соотв. комбинацию клавишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 13:34:53 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
Видимо придется все-таки ползти к пользователю, изучать обстановку на месте так сказать. Предложенный мной временный вариант с треском провалился. Я предложил добавить строку Application.Calculation = xlManual.... в злополучный xls-файл в макрос auto_open(). Оказалось, что если книга с макросами грузится в скрытом режиме (как правило все книги из XLSTART так и грузятся), то свойство Application.Calculation - НЕДОСТУПНО, пока не будет загружена хоть одна ВИДИМАЯ workbook - во как! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 16:35:01 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
SergeySVВидимо придется все-таки ползти к пользователю, изучать обстановку на месте так сказать. Предложенный мной временный вариант с треском провалился. Я предложил добавить строку Application.Calculation = xlManual.... в злополучный xls-файл в макрос auto_open(). Оказалось, что если книга с макросами грузится в скрытом режиме (как правило все книги из XLSTART так и грузятся), то свойство Application.Calculation - НЕДОСТУПНО, пока не будет загружена хоть одна ВИДИМАЯ workbook - во как! Это ясно написано не только на предложенном мной сайте, но и в последнем абзаце цитаты, которую я опубликовал :-) Впрочем как и единственно известное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 16:40:18 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
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 (разве что запустив макрос). Потому и результат у пользователя - ничего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 16:45:39 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
Формально да, не сработало. Но помочь, помогло. При попытке Application.Calculation = xlCalculationAutomatic возникает ошибка, перескакивает на обработчик ошибок и выходит из макроса auto_open. Вроде бы эффекта ноль, а Calculation при этом остается xlCalculationAutomatic и на xlCalculationManual не сбивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 17:20:47 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
2 KL (XL) KL (XL) В моей цитате выше в первом абзаце написано, что шаблоны и надстройки не влияют на параметр Calculation (разве что запустив макрос). выкладываю пример, демонстрирующий прямо обратное цитированному заявлению для одного специального случая. в архиве 3 файла - 2 шаблона и запускающий скрипт разместите все файлы в одном и том же каталоге и заустите test.vbs в результате вы получите файл с установленным ручным пересчетом. нигде в коде не используется application.calculation шаблон книги-результата сохранен с настройкой "автоматический пересчет" шаблон книги-генератора сохранен с настройкой "ручной пересчет". результат - ручной пересчет. сохраните шаблон книги-генератора с установкой "автоматический пересчет" и вы получите результат с автоматических пересчетом. 2 SergeySV посмотрите - может быть пример чем-то похож на вашу ситуацию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 18:34:38 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
boobyвыкладываю пример, демонстрирующий прямо обратное цитированному заявлению для одного специального случая. 1) Похоже информация от Ч.Уильямса про шаблоны действительно устарела. Если не ошибаюсь, статья писалась еще во времена XL97 и с тех пор неоднократно обновлялась. Вероятно этот аспект ускользнул от внимания автора (я дам ему знать) 2) Для демонстрации того, что шаблоны меняют настройку, думаю, не надо было городить такой огород. Достаточно было положить шаблон Книга.xlt (в моем случае Book.xlt) в папку XLSTART и последовательно открывать Excel, предварительно меняя настройку Calculate в шаблоне. 3) Вцелом, за исключением указанного несоответствия, логика все та же. Если шаблон имеет расчеты в автом. режиме, то последующие файлы ее не меняют даже если они были сохранены с ручной настройкой, и наоборот. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 20:25:32 |
|
||
|
Excel: сбрасывает на xlCalculationManual при каждом запуске
|
|||
|---|---|---|---|
|
#18+
Насчет шаблонов интересно, не знал. Моя же проблема решилась непонятным для меня образом. Я притащил пользователю свой xls-файл, скопировал в папку XLStart(других файлов там нет) и все. Вычисления автоматич. и на ручной не перескакивает как я не экспериментировал. Так я и не увидел этот глюк вживую, остается только положится на слова пользователя что он был. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2007, 16:06:44 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=35008173&tid=2181716]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 383ms |

| 0 / 0 |
