Member 9561273 Ответов: 3

вставьте изображение в ячейку excel с помощью vb.net код


вставьте изображение в ячейку excel с помощью vb.net код
Dim oExcel As Object
        Dim oBook As Object
        Dim oSheet As Object



        oExcel = CreateObject("Excel.Application")
        oExcel.Visible = True
        oBook = oExcel.Workbooks.Add
        oSheet = oBook.Worksheets(1)
        oSheet.Shapes.AddPicture("C:\Sample Pictures\p.jpg", False, True, 0, 0, 45, 50) 


это половина кода, через который мы вставляем изображение в excel, но оно не помещается в одну ячейку excel................

пожалуйста, помогите мне с этим..............

3 Ответов

Рейтинг:
26

Sergey Vaselenko

То Диапазон[^] Свойства Top и Left используются для определения верхнего левого угла.

Ширина и высота должны быть в точках, а не в пикселях. Используйте множитель 3/4.

Вы также можете масштабировать свои фотографии.

Вот краткий пример в VBA:

Dim ws As Worksheet
Dim r As Range
Dim fileName As String
Dim pictureWidth As Integer
Dim pictureHeight As Integer
Dim shape As shape

Set ws = Worksheets(1)

Set r = ws.Cells(5, 2)

fileName = "d:\picture.png"

pictureWidth = 195
pictureHeight = 102

Set shape = ws.Shapes.AddPicture(fileName, msoTrue, msoTrue, r.Left, r.Top, pictureWidth * 3 / 4, pictureHeight * 3 / 4)

shape.LockAspectRatio = msoTrue
shape.ScaleHeight 2, msoTrue, msoScaleFromTopLeft


Рейтинг:
2

Member 9561273

Спасибо Вам за ответ, bt он показывает следующие ошибки, я hv также использовал ' Imports Microsoft.Офис.Взаимодействие.Пространство имен Excel, все еще получающее тысячи ошибок

Ошибка 1: "рабочий лист" неоднозначен в пространстве имен Microsoft.Офис.Взаимодействие.Превосходить

Ошибка 2: "System.Data.Range" недоступен в этом контексте, потому что это "друг".
Ошибка 3: "msoTrue" не объявлен. Он может быть недоступен из-за своего уровня защиты.


Рейтинг:
0

Member 9561273

спасибо вам, ребята, за ваш отдых.....
я решил их сам