title: How to open specific version of Word 2007/2010 in Excel
body: <p>I have both Word 2007 and 2010 installed. I need to open Word from within Excel but I need to specify which version I need to open within VBA.</p>
  
  <p>I've tried late binding</p>
  
  <pre><code>Dim wordApp2007 As Object
  Dim wordApp2010 As Object
  
  Set wordApp2007 = CreateObject("Word.Application.12")
  wordApp2007.Visible = True
  Set wordApp2010 = CreateObject("Word.Application.14")
  wordApp2010.Visible = True
  </code></pre>
  
  <p>but both open Word 2010</p>
  
  <p>I've also tried early binding by using</p>
  
  <pre><code>Dim wordApp As Word.Application
  Set wordApp2007 = New Word.Application
  wordApp2007.Visible = True
  </code></pre>
  
  <p>and setting references to the Word 12.0 object model but this still opens Word 2010
  <img src="https://i.stack.imgur.com/c52E9.png" alt="enter image description here"></p>
  
  <p>If I register each version of Word using</p>
  
  <p><code>"C:\Program Files\Microsoft Office\Office12\WINWORD.EXE" /regserver</code></p>
  
  <p><code>"C:\Program Files\Microsoft Office\Office14\WINWORD.EXE" /regserver</code></p>
  
  <p>then the version registered opens but then I can't open open the non-registered.</p>
  
  <p>Can anyone help and show me how to open a specific version of Word within Excel using VBA?</p>
  
  <p>Thank you</p>
  
  <p>Edit: Example code....</p>
  
  <pre><code>Option Explicit
  
  Dim wordApp2007 As Word.Application
  
  Sub Word_InfoEarly()
  'early binding
  Set wordApp2007 = New Word.Application
  wordApp2007.Visible = True
  
      'other Stuff
      Stop
  
      wordApp2007.Quit
      Set wordApp2007 = Nothing
  
  End Sub
  
  
  Sub Word_InfoLate()
  Dim wordApp2007 As Object
  Dim wordApp2010 As Object
  
      Set wordApp2007 = CreateObject("Word.Application.12")
      wordApp2007.Visible = True
      Set wordApp2010 = CreateObject("Word.Application.14")
      wordApp2010.Visible = True
  
      'other Stuff
      Stop
  
      wordApp2007.Quit
      Set wordApp2007 = Nothing
      wordApp2010.Quit
      Set wordApp2010 = Nothing
  
  End Sub
  </code></pre>