ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Import an Image into Excel using VB.Net and Option Strict On (https://www.excelbanter.com/excel-programming/348434-import-image-into-excel-using-vbulletin-net-option-strict.html)

Jedawi

Import an Image into Excel using VB.Net and Option Strict On
 
Hi,

would anyone be able to point me in the right direction on how to import an
image (.jpg file) into
an Excel worksheet using VB.Net and Option Strict On. This should be
straight forward however with Excel returning some weak-typed objects we are
having problems.

The only problem we have is with line (full code below)
oExcel.ActiveSheet.Pictures.Insert("C:\Images\AB1. jpg").Select()

Option Strict disallows late binding and oExcel.Activesheet returns an
Object Type of Object

With Option Strict off the following code works fine:

'Start Excel and get Application object
Dim oExcel As Excel.Application = New Excel.Application

'Get a new workbook
Dim oBook As Excel.Workbook = CType(oExcel.Workbooks.Add(), Excel.Workbook)
Dim oSheet As Excel.Worksheet = CType(oBook.ActiveSheet, Excel.Worksheet)
Dim oRng As Excel.Range

With oSheet
CType(.Cells(4, 1), Excel.Range).Value = "COMPILED:-"
CType(.Cells(5, 1), Excel.Range).Value = "TITLE:-"
CType(.Cells(6, 1), Excel.Range).Value = "APPROVED"
CType(.Cells(27, 2), Excel.Range).Value = "PIC ID"
CType(.Cells(24, 8), Excel.Range).Value = "PIC ID"
CType(.Cells(45, 7), Excel.Range).Value = "PIC ID"
oRng = DirectCast(.Cells(5, 5), Excel.Range)
oRng.Cells.Select()
End With

oExcel.ActiveSheet.Pictures.Insert("C:\Images\AB1. jpg").Select()
oSheet.SaveAs(tempFileName)

'Save the report.
oExcel.Workbooks.Close()
oExcel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComO bject(oExcel)

oSheet = Nothing
oBook = Nothing
oExcel = Nothing

Any help would be much appreciated.

Regards




NickHK

Import an Image into Excel using VB.Net and Option Strict On
 
Jedawi,
I am no .Net expert, but as ActiveSheet could in theory be a worksheet,
chart or macro, it has to evaluate to an "Object".
Does
oSheet.Pictures.Insert("C:\Images\AB1.jpg").Select ()
work ?

NickHK

"Jedawi" wrote in message
...
Hi,

would anyone be able to point me in the right direction on how to import

an
image (.jpg file) into
an Excel worksheet using VB.Net and Option Strict On. This should be
straight forward however with Excel returning some weak-typed objects we

are
having problems.

The only problem we have is with line (full code below)
oExcel.ActiveSheet.Pictures.Insert("C:\Images\AB1. jpg").Select()

Option Strict disallows late binding and oExcel.Activesheet returns an
Object Type of Object

With Option Strict off the following code works fine:

'Start Excel and get Application object
Dim oExcel As Excel.Application = New Excel.Application

'Get a new workbook
Dim oBook As Excel.Workbook = CType(oExcel.Workbooks.Add(),

Excel.Workbook)
Dim oSheet As Excel.Worksheet = CType(oBook.ActiveSheet, Excel.Worksheet)
Dim oRng As Excel.Range

With oSheet
CType(.Cells(4, 1), Excel.Range).Value = "COMPILED:-"
CType(.Cells(5, 1), Excel.Range).Value = "TITLE:-"
CType(.Cells(6, 1), Excel.Range).Value = "APPROVED"
CType(.Cells(27, 2), Excel.Range).Value = "PIC ID"
CType(.Cells(24, 8), Excel.Range).Value = "PIC ID"
CType(.Cells(45, 7), Excel.Range).Value = "PIC ID"
oRng = DirectCast(.Cells(5, 5), Excel.Range)
oRng.Cells.Select()
End With

oExcel.ActiveSheet.Pictures.Insert("C:\Images\AB1. jpg").Select()
oSheet.SaveAs(tempFileName)

'Save the report.
oExcel.Workbooks.Close()
oExcel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComO bject(oExcel)

oSheet = Nothing
oBook = Nothing
oExcel = Nothing

Any help would be much appreciated.

Regards







All times are GMT +1. The time now is 04:49 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com