Here is an example using early binding (you can adapt as needed for late binding) that creates the Excel file based on a SaveDialog then open the file by setting xlApp.Visible = True. Disposal of the Excel objects is done when the user closes Excel.
Code:
Private Sub cmdCreateFileDemo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCreateFileDemo.Click
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
CreateFile(SaveFileDialog1.FileName, True)
End If
End Sub
Code to create the Excel file. Note if the file exists for this example we don't try to overwrite it but by removing the check you can overwrite it but you should also know that if the file exists and is open the code will throw an exception. This can easily by remedied if you need to work this out too.
Code:
Public Sub CreateFile(ByVal FileName As String, ByVal ShowMessageBox As Boolean)
If Not IO.File.Exists(FileName) Then
If ShowMessageBox Then
MessageBox.Show("Creating '" & FileName & "'")
End If
Dim xlApp As Excel.Application = Nothing
Dim xlWorkBooks As Excel.Workbooks = Nothing
Dim xlWorkBook As Excel.Workbook = Nothing
xlApp = New Excel.Application
xlApp.DisplayAlerts = False
xlWorkBooks = xlApp.Workbooks
xlWorkBook = xlWorkBooks.Add()
xlWorkBook.SaveAs(FileName)
xlApp.Visible = True
End If
End Sub