I use the following code samples on my app and it works perfectly.

Put this on the top of class/form declaration
VB Code:
  1. Option Explicit On
  2. Option Strict On



To open a existing workbook:
VB Code:
  1. Dim objExcel As new Excel.Application
  2.         Dim Books As Excel.Workbooks
  3.         Dim Book As Excel.Workbook
  4.         Dim Sheet As Excel.Worksheet
  5.  
  6.  
  7.         objExcel.Visible = True
  8.         Books = objExcel.Workbooks
  9.         '' open  the book
  10.         Book = Books.Open(FileName)
  11.         Sheet = DirectCast(Book.Worksheets(1), Excel.Worksheet)
  12.  
  13.  
  14.         DirectCast(Book.Sheets("Sheet1"), Excel.Worksheet).Activate()
  15.         Sheet = DirectCast(Book.ActiveSheet, Excel.Worksheet)


To create a new workbook :
VB Code:
  1. Dim objApp As New Excel.Application
  2.         Dim objBook As Excel.Workbook = objApp.Workbooks.Add
  3.         Dim objSheet As Excel.Worksheet = DirectCast(objApp.ActiveSheet, Excel.Worksheet)
  4.  
  5.     objSheet.Range("A1).Value = "Hello"
  6.     messagebox.show(objSheet.Range("A1").Text.ToString)
  7.  
  8.     objBook.SaveAs(FileName)
  9.  
  10.     objBook.Close
  11.     objApp.Quit
  12.    
  13.     System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp)

Regards
Jorge