title: Opening an excel file manually allows formulas to run, opening an excel file with VBScript or PowerShell or Python's win32com doesn't
body: <p>I'm having a problem with a script not updating an excel file, and I reduced it to the following problem:</p>
  
  <p>If I open an excel file, I can go to the Formulas tab and click "Calculate Now" and it'll spend a bit of time updating all the calculations. </p>
  
  <p>If I run a VBScript <em>just</em> to open the file (see following code), if I go to the Formulas tab and click "Calculate Now" it'll just refresh immediately and nothing will change. </p>
  
  <pre><code>Dim objXLApp, objXLWb, objXLWs
  
  Set objXLApp = CreateObject("Excel.Application")
  objXLApp.Visible = True
  Set objXLWb = objXLApp.Workbooks.Open(file_path.xls)
  </code></pre>
  
  <p>I've tried all sorts of stuff like:</p>
  
  <pre><code>objXLApp.Calculation = xlAutomatic
  objXLApp.Calculate
  objXLApp.CalculateFull
  objXLApp.CalculateFullRebuild
  objXLWb.RefreshAll
  objXLWs.EnableCalculation = True
  objXLWs.Calculate               
  </code></pre>
  
  <p>But those seem to do the same thing as going to the tab and clicking "Calculate" resulting in just a quick refresh and the excel page not trying to update at all.</p>
  
  <p>The same is true when using python's win32com module. I can't run calculations in the opened file.</p>
  
  <pre><code>import win32com.client as win32
  
  excel = win32.Dispatch('Excel.Application')
  excel.Visible = True
  excel_workbook = excel.Workbooks.Open(file_path.xls)
  </code></pre>
  
  <p>The same is also true using PowerShell. </p>
  
  <pre><code>$excel = New-Object -com excel.application
  $excel.Visible = $True
  $workbook = $excel.Workbooks.Open( $file_path )
  </code></pre>
  
  <p>So why does opening a file with these languages somehow shut off the ability to calculate the formulas?</p>