Вставка изображения в calc

Автор dimmon777, 21 марта 2018, 11:06

0 Пользователи и 1 гость просматривают эту тему.

dimmon777

День добрый!
Подскажите макрос вставки изображения, которое находится C:/1.jpg, в ячейку A1.  ???

JohnSUN

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

dimmon777

Цитата: Johnu]Этот?[/u]
Да, спасибо!
Еще подскажите,  как изображение позади текста разместить

JohnSUN

oSahe.LayerID = 1 ' Задвинуть за текст
oSahe.LayerID = 0 ' Вернуть обратно
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

dimmon777


Цитата: JohnSUN от 21 марта 2018, 14:27
oSahe.LayerID = 1 ' Задвинуть за текст
oSahe.LayerID = 0 ' Вернуть обратно


Огромнейшее спасибо, очень выручили!!!

dimmon777

Цитата: JohnSUN от 21 марта 2018, 12:27JohnSUN
Один вопрос назрел: При выводе на печать рисунок не отображается(. Нужно в свойствах листа указать отображать рисунки/объекты. Как это реализовать программно ??? В книгах по-умолчанию данный параметр отключен


rami

Замените на ваше название стиля вместо Default:
ThisComponent.StyleFamilies.getByName("PageStyles").getByName("Default").PrintObjects=true

dimmon777

Цитата: rami от 21 марта 2018, 17:17Замените на ваше название стиля вместо Default:
Код:

ThisComponent.StyleFamilies.getByName("PageStyles").getByName().PrintObjects=true

Немного не помогло, хз какой там у листа наименование стиля, пробовал "Default", и "стандартный" и т.д.
Помог след кодs = ThisComponent.CurrentController.getActiveSheet().PageStyle
oStyle = ThisComponent.StyleFamilies.getByName("PageStyles").getByName(s)
oStyle.PrintObjects=true

rami за наводку спасибо! ;D

dimmon777

Доработал "для себя" (по сути убрал всё лишнее), код макроса вставляющего в ячейку изображение по ссылке. За основу взята подсказка
Цитата: JohnSUN от 27 ноября 2011, 18:38JohnSUN
:beer:  http://forumooo.ru/index.php/topic,2362.msg14432.html#msg14432

Sub Main
oDoc = ThisComponent
oSheet = oDoc.CurrentController.ActiveSheet
SD = oSheet.createSearchDescriptor()
SD.SearchRegularExpression = TRUE
SD.SearchCaseSensitive = FALSE
SD.SearchString = "jpg|bmp"
Results = oSheet.findAll(SD)
If isNull(Results) then Exit Sub

Dim Props(0) as new com.sun.star.beans.PropertyValue
Props(0).Name= "URL"
Dim Size as new com.sun.star.awt.Size
oProvider = createUnoService("com.sun.star.graphic.GraphicProvider")
Cell = Results(k)
s = ConvertToURL(Cell.String)
oShape = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
oSheet.DrawPage.add(oShape)
Props(0).Value = s
oShape.Graphic = oProvider.queryGraphic(Props())
oShape.Anchor = Cell
Cell.String=""
Size.Width = 6000' размер,ширина
Size.Height = 6000' размер,высота
oShape.setSize(Size)
oShape.LayerID = 1
s = ThisComponent.CurrentController.getActiveSheet().PageStyle
oStyle = ThisComponent.StyleFamilies.getByName("PageStyles").getByName(s)
oStyle.PrintObjects=true
End Sub

rami

Цитата: dimmon777 от 21 марта 2018, 17:42Немного не помогло, хз какой там у листа наименование стиля, пробовал "Default", и "стандартный" и т.д.
Посмотрите на вашу картинку в предыдущем ответе, там написано: Стиль страницы: PageStyle_Sheet1
Кроме того, стиль страницы показывается в строке состояния. Но и ваше решение хорошо.

dimmon777

Цитата: rami от 21 марта 2018, 17:58Посмотрите на вашу картинку в предыдущем ответе, там написано: Стиль страницы: PageStyle_Sheet1
:o :o :o  :-\
Отчеты генерирует программа, возможно название стилей будет меняться