Как настроить режим расчета вручную при открытии файла excel?

В моем файле excel содержится много формул, поэтому я хочу, чтобы он сразу же настраивал режим расчета вручную. В противном случае расчет начинается автоматически, и я должен ждать несколько часов. Я нашел эту страницу:

http://excel.tips.net/T001988_Forcing_Manual_Calculation_For_a_Workbook.html

который должен быть в состоянии сделать трюк. Однако это не работает для моего excel файла. В нем указывается, что в VBA-коде в разделе "ThisWorkbook" должен быть введен следующий код:

Private Sub Workbook_Open()
    Application.Calculation = xlManual
    Application.CalculateBeforeSave = False
End Sub

Как указано, это не работает в моем случае. Есть ли у кого-то альтернативное решение?

Спасибо заранее!

Ответ 1

Лучшим способом для этого было бы создать Excel под названием "launcher.xlsm" в той же папке, что и файл, который вы хотите открыть. В файле "launcher" поместите следующий код в объект "Workbook", но установите константу TargetWBName как имя файла, который вы хотите открыть.

Private Const TargetWBName As String = "myworkbook.xlsx"

'// First, a function to tell us if the workbook is already open...
Function WorkbookOpen(WorkBookName As String) As Boolean
' returns TRUE if the workbook is open
    WorkbookOpen = False
    On Error GoTo WorkBookNotOpen
    If Len(Application.Workbooks(WorkBookName).Name) > 0 Then
        WorkbookOpen = True
        Exit Function
    End If
WorkBookNotOpen:
End Function

Private Sub Workbook_Open()
    'Check if our target workbook is open
    If WorkbookOpen(TargetWBName) = False Then
        'set calculation to manual
        Application.Calculation = xlCalculationManual
        Workbooks.Open ThisWorkbook.Path & "\" & TargetWBName
        DoEvents
        Me.Close False
    End If
End Sub

Задайте константу 'TargetWBName' как имя рабочей книги, которую вы хотите открыть. Этот код просто переключит расчет на ручной, затем откройте файл. Затем файл запуска автоматически закроется. * ПРИМЕЧАНИЕ. Если вы не хотите получать приглашение "Включить контент" каждый раз, когда вы открываете этот файл (в зависимости от ваших настроек безопасности), вы должны временно удалить "me.close", чтобы он не закрыл себя, сохраните файл и установите для него доверие, а затем снова включите вызов "me.close" перед сохранением. Кроме того, вы можете просто установить False на True после Me.Close