Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

9 Декабрь 2018, 23:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Вставка изображения в calc  (Прочитано 918 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dimmon777
Форумчанин
***
Offline Offline

Сообщений: 63


« Стартовое сообщение: 21 Март 2018, 11:06 »

День добрый!
Подскажите макрос вставки изображения, которое находится C:/1.jpg, в ячейку A1.  Непонимающий
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 632


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 21 Март 2018, 11:23 »

Этот?
Записан

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

Сообщений: 63


« Ответ #2: 21 Март 2018, 13:27 »

Цитата: John[u
Этот?[/u]
Да, спасибо!
Еще подскажите,  как изображение позади текста разместить
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 632


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 21 Март 2018, 14:27 »

Код:
oSahe.LayerID = 1 ' Задвинуть за текст
oSahe.LayerID = 0 ' Вернуть обратно
Записан

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

Сообщений: 63


« Ответ #4: 21 Март 2018, 18:18 »


Код:
oSahe.LayerID = 1 ' Задвинуть за текст
oSahe.LayerID = 0 ' Вернуть обратно

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

Сообщений: 63


« Ответ #5: 21 Март 2018, 18:43 »

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



* Безымянный.jpg (62.6 Кб, 569x488 - просмотрено 12 раз.)
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 615


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #6: 21 Март 2018, 19:17 »

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

dimmon777
Форумчанин
***
Offline Offline

Сообщений: 63


« Ответ #7: 21 Март 2018, 19:42 »

Замените на ваше название стиля вместо 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 за наводку спасибо! Смеющийся
Записан
dimmon777
Форумчанин
***
Offline Offline

Сообщений: 63


« Ответ #8: 21 Март 2018, 19:53 »

Доработал "для себя" (по сути убрал всё лишнее), код макроса вставляющего в ячейку изображение по ссылке. За основу взята подсказка
JohnSUN
Всё хорошо  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
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 615


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #9: 21 Март 2018, 19:58 »

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

dimmon777
Форумчанин
***
Offline Offline

Сообщений: 63


« Ответ #10: 21 Март 2018, 20:58 »

Посмотрите на вашу картинку в предыдущем ответе, там написано: Стиль страницы: PageStyle_Sheet1
Шокирован Шокирован Шокирован  В замешательстве
Отчеты генерирует программа, возможно название стилей будет меняться
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!