Code won't Run when getting Workbook name

P

Paula

Imports Microsoft.Office.Interop.Excel

Public Class TransferTool

Private Sub btn_PrevData_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_PrevData.Click
Dim wkbk As New Microsoft.Office.Interop.Excel.Workbook
wkbk.Open(Me.txt_ImportFile.Text)

strWrkBkNm = wkbk.Item(1).Name
wkbk.Close()
wkbk = Nothing

Gives an unspecified error, does anyone know why this will not run? Do I
need to install something?

Thanks,
Paula
 
P

Paula

Here is the error I receive:

Retrieving the COM class factory for component with CLSID
{00020819-0000-0000-C000-000000000046} failed due to the following error:
80040154.
 
C

Chip Pearson

Paula,

I think you need to change

Dim wkbk As New Microsoft.Office.Interop.Excel.Workbook
to
Dim wkbk As New Microsoft.Office.Interop.Excel.Workbooks

Note that this is plural "workbookS" not singular "workbook".

Just as a stylistic note, I would also change

Imports Microsoft.Office.Interop.Excel
to
Imports Excel = Microsoft.Office.Interop.Excel

--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
(email address is on the web site)
 
P

Paula

Chip,

Thanks for your help.
If I add the s then I get an error telling me that the New keyword cannot be
used on an interface.

Then I take out the New and get this error at runtime:
Object reference not set to an instance of an object.

Any further advice?
Paula
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top