powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вставка картинки в Excel из VBS с сохранением
5 сообщений из 5, страница 1 из 1
Вставка картинки в Excel из VBS с сохранением
    #38852084
Ручей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используя VBS в excel вставляю картинку методом

Set a = ObjExcel.ActiveSheet.Pictures.Insert(PictureFileName)

В даном случаи, картинка будет, как ссылка и при переносе документа не сохранится.
Есть пример

ActiveSheet.Shapes.AddPicture "C:\applelogo.jpeg", False, True, 100, 100, 86, 129,

но в VBS у меня не работает.
Подскажите, пожалуйста, как вставить картинку с сохранением?
...
Рейтинг: 0 / 0
Вставка картинки в Excel из VBS с сохранением
    #38852434
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ручей,

выполнил этот код, удалил картинку с диска, открыл Excel-файл, картинка осталась внутри файла
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
dim WorkBook
dim WorkSheet

set xapp = WScript.CreateObject("Excel.Application")
xapp.Visible = True

set WorkBook = xapp.WorkBooks.Add
set WorkSheet = WorkBook.WorkSheets("Лист1")

WorkSheet.Shapes.AddPicture "C:\1\image.png", False, True, 1, 1, 445, 95
WorkBook.SaveAs("C:\1\MyFile.xlsx")

set WorkBook = nothing
set WorkSheet = nothing

xapp.Quit
...
Рейтинг: 0 / 0
Вставка картинки в Excel из VBS с сохранением
    #38852756
Ручей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89, благодарю!
Да, это рабочий вариант. У меня не работало из-за одной ошибки.
Вот такой вопрос возникает.
Данная функция вставляет картинку требуя сразу задавать размер.
В моём раннем коде картинка вставлялась, а потом менялся размер.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Sub InsertPictureInRange(PictureFileName, TargetCells ) 
Dim lWscale
Dim Aspect
Dim Shift

	WScale=1
	Set  a = ObjExcel.ActiveSheet.Pictures.Insert(PictureFileName)
	lWscale = a.Height/a.Width
   a.ShapeRange.LockAspectRatio = 0'WScale
   a.ShapeRange.Height = TargetCells.Height
   a.ShapeRange.Width  = TargetCells.Width
   Aspect = TargetCells.Height / TargetCells.Width
   If  lWscale < Aspect Then 
     a.ShapeRange.ScaleHeight (lWscale/Aspect), msoFalse, msoScaleFromTopLeft
     a.ShapeRange.ScaleHeight (0.9), msoFalse, msoScaleFromTopLeft
     a.ShapeRange.ScaleWidth  (0.9), msoFalse, msoScaleFromTopLeft
   	 a.ShapeRange.IncrementLeft (TargetCells.Width*(0.1)/2)
   Else 
     Shift = (TargetCells.Width-TargetCells.Width*(Aspect/lWscale))/2
     a.ShapeRange.ScaleWidth (Aspect/lWscale), msoFalse, msoScaleFromTopLeft
   	 a.ShapeRange.IncrementLeft Shift
   End If
   a.Top = TargetCells.Top + (TargetCells.Height-a.Height)/2
   a.Left = TargetCells.Left+(TargetCells.Width-a.Width)/2
   a.ShapeRange.LockAspectRatio = 1
 Set a = Nothing   
End Sub


Как теперь заранее узнавать размер, что бы сохранить пропорции?
...
Рейтинг: 0 / 0
Вставка картинки в Excel из VBS с сохранением
    #38852797
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ручей,

тут советуют просто установить высоту и ширину картинки в -1 , размер будет оригинальный.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
dim WorkBook
dim ActiveSheet

set xapp = WScript.CreateObject("Excel.Application")
xapp.Visible = True

set WorkBook = xapp.WorkBooks.Add
set ActiveSheet = WorkBook.WorkSheets("Лист1")

ActiveSheet.Shapes.AddPicture("c:\1\a.png", False, True, 50, 30, -1, -1).Select

WorkBook.SaveAs("C:\1\MyFile.xlsx")

set WorkBook = nothing
set ActiveSheet = nothing

xapp.Quit
...
Рейтинг: 0 / 0
Вставка картинки в Excel из VBS с сохранением
    #38852801
Ручей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Пробовал разное, но не догадался -1 использовать.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вставка картинки в Excel из VBS с сохранением
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]