title: How to use VBA SaveAs without closing calling workbook?
body: <p>I want to:</p>
  
  <ul>
  <li>Do data manipulation using a Template workbook</li>
  <li>Save a copy of this work book as .xlsx (<a href="http://msdn.microsoft.com/en-us/library/office/ff835014.aspx">SaveCopyAs</a> doesn't let you change filetypes, otherwise this would be great)</li>
  <li>Continue showing original template (not the "saved as" one)</li>
  </ul>
  
  <p>Using <code>SaveAs</code> does exactly what is expected - it saves the workbook while removing the macros and presents me the view of the newly created SavedAs workbook. </p>
  
  <p>This unfortunately means:</p>
  
  <ul>
  <li>I no longer am viewing my macro enabled workbook unless I reopen it</li>
  <li>Code execution stops at this point because</li>
  <li>Any macro changes are discarded if I forget to save (note: for a production environment this is ok, but, for development, it's a huge pain)</li>
  </ul>
  
  <p>Is there a way I can do this?</p>
  
  <pre><code>'current code
  Application.DisplayAlerts = False
  templateWb.SaveAs FileName:=savePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
  templateWb.Activate
  Application.DisplayAlerts = True
  
  'I don't really want to make something like this work (this fails, anyways)
  Dim myTempStr As String
  myTempStr = ThisWorkbook.Path &amp; "\" &amp; ThisWorkbook.Name
  ThisWorkbook.Save
  templateWb.SaveAs FileName:=savePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
  ActiveWorkbook.Close
  Workbooks.Open (myTempStr)
  
  'I want to do something like:
  templateWb.SaveCopyAs FileName:=savePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 'SaveCopyAs only takes one argument, that being FileName
  </code></pre>
  
  <p>Also note while <code>SaveCopyAs</code> will let me save it as a different type (ie <code>templateWb.SaveCopyAs FileName:="myXlsx.xlsx"</code>) this gives an error when opening it because it now has an invalid file format.</p>