drvolodko 222 / 66 / 32 Регистрация: 23.05.2014 Сообщений: 698 |
||||
1 |
||||
23.05.2014, 09:16. Показов 11358. Ответов 8 Метки addpicture, excel, inchestopoints, pixelsperinch (Все метки)
Доброго времени суток. Столкнулся с проблемой вставки картинки в Excel из буфера обмена.
Все варианты выдают ошибку. Как сделать уже не знаю даже(((( Через Ctrl+v вставляется, значит картинка в буфер прилетает, а вот программно не хочет.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
23.05.2014, 09:16 |
Ответы с готовыми решениями: Вывод картинки из бд Вывод картинки на экран Вывод случайной картинки Вывод картинки PNG на форму 8 |
52 / 52 / 30 Регистрация: 24.02.2014 Сообщений: 229 |
|
23.05.2014, 14:49 |
2 |
совет1: откройте Excel и запишите макрос в котором вы вставляете картинку и посмотрите код
0 |
Mawrat 13094 / 5875 / 1706 Регистрация: 19.09.2009 Сообщений: 8,808 |
||||||||
23.05.2014, 16:17 |
3 |
|||||||
Сообщение было отмечено drvolodko как решение РешениеМетод Range.PastSpecial() предназначен только для вставки диапазонов. Чтобы вставлять данные разных типов, в том числе, изображения — надо использовать одноимённый метод объекта Worksheet: Worksheet.PastSpecial():
Или может посоветуете, как подгрузить картинку с диска? Загрузка картинки с диска:
0 |
222 / 66 / 32 Регистрация: 23.05.2014 Сообщений: 698 |
|
23.05.2014, 17:15 [ТС] |
4 |
уже разобрался, но все равно спасибо за помощь. Код xl.Range['K47',EmptyParam] .Select; xSheet.PasteSpecial('Рисунок',False,false, EmptyParam,EmptyParam,EmptyParam, True, LCID);
0 |
0 / 0 / 0 Регистрация: 12.09.2020 Сообщений: 115 |
|
27.03.2022, 10:59 |
5 |
drvolodko, здравствуйте, а что за LCID???
0 |
3392 / 2043 / 654 Регистрация: 29.05.2013 Сообщений: 8,778 |
|
27.03.2022, 11:57 |
6 |
Насколько я помню картинка в Экселе вставляется в Лист, а не в ячейку листа, т.е. при любом изменение свойств ячеек вся привязка текста в ячейке с картинкой развалится. Лучше Html документ использовать.
0 |
Urcaserem 0 / 0 / 0 Регистрация: 12.09.2020 Сообщений: 115 |
||||
27.03.2022, 13:16 |
7 |
|||
Пытливый, да вот у меня просто что-то никак не выходит. ругается на что-то
это последний вариант, но что-то не нравится
0 |
Пытливый 3392 / 2043 / 654 Регистрация: 29.05.2013 Сообщений: 8,778 |
||||
27.03.2022, 14:33 |
8 |
|||
Я даже проверить этот код не могу, нет этих левых TLB-компонент. А вот такой код, запустить можно без сторонних компонент и что интересно, он работает:
1 |
0 / 0 / 0 Регистрация: 12.09.2020 Сообщений: 115 |
|
27.03.2022, 17:08 |
9 |
Пытливый, спасибо большое
0 |
I have a question here, I have an application and I need to add images to it. I have tried:
Sheet.Shapes.AddPicture(G_V.Prog_Dir+'pic.BMP',false,true, 190, 10+(15*rowcount), 100, 100 );
it works just fine, but I don’t want to give parameters, I want to insert pictures to specified (and parametric) cells because I need to add picture to the last column of the page; this excel needs to be printed I must mention that. So I tried:
Sheet.Range['E'+inttostr(rowcount),'E'+inttostr(rowcount)].Select;
Sheet.Pictures.Insert(G_V.Prog_Dir+'pic.BMP');
It looks OK at first sight, however I think this code links images to the sheet. For example, I send the created Excel to another computer and these images cannot be seen (I don’t recall the exact error) and when I searched it, I found out that receiving computer needs to have images at the exact path. As a solution to this, «Sheet.Shapes.AddPicture» recommended but
as I stated before, I need another solution here.
I didn’t see anybody experiencing this kind of problem, I hope someone helps me out.
Delphi Как Вставить Картинку в Excel
В данном обзоре рассмотрены основные конструкции, позволяющие получить доступ к книге Excel из DELPHI.
Организация доступа к книге EXCEL
Для взаимодействия с MS excel в программе необходимо использовать модуль ComObj
uses ComObj;
и объявить переменную для доступа к MS excel следующего типа:
var Excel: Variant;
Открытие существующей книги (где path — путь к фалу с расширением xls.):
Excel.Workbooks.Open[path];
Открытие существующей книги только для чтения:
Excel.Workbooks.Open[path, 0, True];
Блокировка запросов (подтвеждений, уведомлений) Excel, например, запретить запрос на сохранение файла:
Excel.DisplayAlerts:=False;
Отображаем Excel на экране:
Excel.Visible := True;
или скрываем:
Excel.Visible := False;
Печать содержимого активного листа excel:
Excel.ActiveSheet.PrintOut;
Чтение/запись данных в EXCEL
Доступ к ячейке в текущей книге Excel можно осуществить следующим образом:
Excel.Range[‘B2′]:=’Привет!’;- для записи значения в ячейку или
s:=Excel.Range[‘B2’]; — для чтения,
где B2 — адрес ячейки.
Или используя стиль ссылок R1C1:
Excel.Range[excel.Cells[2, 2]]:=’Привет!’;, где [2, 2] — координата ячейки.
Вообще, ячейке Excel можно присваивать любое значение (символьное, целое, дробное, дата) при этом Excel установит форматирование в ячейке применяемое по умолчанию.
Формат ячеек в EXCEL
Выделить (выбрать) группу ячеек для последующей работы можно так:
Excel.Range[Excel.Cells[1, 1], Excel.Cells[5, 3]].Select;
или
Excel.Range[‘A1:C5’].Select;
при этом будет выделена область находящаяся между ячейкой A1 и C5.
Использование паролей в EXCEL
Вспомогательные операции в EXCEL
Удаление строк со сдвигом вверх:
Excel.Rows[‘5:15’].Select;
Excel.Selection.Delete;
при выполнении данных действий будут удалены строки с 5 по 15.
В данном обзоре рассмотрены основные конструкции, позволяющие получить доступ к книге Excel из DELPHI.
Организация доступа к книге EXCEL
Для взаимодействия с MS excel в программе необходимо использовать модуль ComObj
uses ComObj;
и объявить переменную для доступа к MS excel следующего типа:
var Excel: Variant;
Открытие существующей книги (где path — путь к фалу с расширением xls.):
Excel.Workbooks.Open[path];
Открытие существующей книги только для чтения:
Excel.Workbooks.Open[path, 0, True];
Блокировка запросов (подтвеждений, уведомлений) Excel, например, запретить запрос на сохранение файла:
Excel.DisplayAlerts:=False;
Отображаем Excel на экране:
Excel.Visible := True;
или скрываем:
Excel.Visible := False;
Печать содержимого активного листа excel:
Excel.ActiveSheet.PrintOut;
Чтение/запись данных в EXCEL
Доступ к ячейке в текущей книге Excel можно осуществить следующим образом:
Excel.Range[‘B2′]:=’Привет!’;- для записи значения в ячейку или
s:=Excel.Range[‘B2’]; — для чтения,
где B2 — адрес ячейки.
Или используя стиль ссылок R1C1:
Excel.Range[excel.Cells[2, 2]]:=’Привет!’;, где [2, 2] — координата ячейки.
Вообще, ячейке Excel можно присваивать любое значение (символьное, целое, дробное, дата) при этом Excel установит форматирование в ячейке применяемое по умолчанию.
Формат ячеек в EXCEL
Выделить (выбрать) группу ячеек для последующей работы можно так:
Excel.Range[Excel.Cells[1, 1], Excel.Cells[5, 3]].Select;
или
Excel.Range[‘A1:C5’].Select;
при этом будет выделена область находящаяся между ячейкой A1 и C5.
Использование паролей в EXCEL
Вспомогательные операции в EXCEL
Удаление строк со сдвигом вверх:
Excel.Rows[‘5:15’].Select;
Excel.Selection.Delete;
при выполнении данных действий будут удалены строки с 5 по 15.
Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре
Как загрузить картинку в delphi
Как это победить – на настоящий момент – не знаю. Одинаковая картина – если отображать на DBImage и на Image. Причём, если PNG отображать на форме простой загрузкой файла (не через сохранение в БД и последующего чтения), то PNG отображается при этом нормально…
Мнение эксперта
Знайка, самый умный эксперт в Цветочном городе
Если у вас есть вопросы, задавайте их мне!
Задать вопрос эксперту
При необходимости вы можете использовать маркеры изменения размера по краям изображения, чтобы обрезать его до нужного размера. Если же вы хотите что-то уточнить, я с радостью помогу!
Привязать изображения к ячейке Переходим во вкладку производить никаких измененийВыделяем весь лист, нажатиемОдним из способов прикрепить Всё зависит от. картинку было хорошо углу) появляется значокКликаем в том месте, в любую сторону» на другом листе — изменить текст, «Рецензирование» в разделе А вот два.
Image в Delphi
Ну, вот я описал все способы как в Excel вставить картинку, я очень надеюсь, что мой материал вам помог. Буду признателен вашим лайкам и репосту в социальные сети, если статья вам понравилась, а ваши замечания жду в комментариях!
← →
Veles
(2003-07-10 14:54)
[0]
Как вставить изображение в Excel в ходе выполнения программы ?
← →
Palladin
(2003-07-10 15:07)
[1]
ActiveSheet.Pictures.Insert(«E:My Picturescat2.jpg»)
← →
Veles
(2003-07-10 15:19)
[2]
Надо что то типа:
XL.WorkSheets[1].Range[«B4»].Value := Pictures.Insert(Table1FOTO.Value);
Т.Е. вставить из программы на Delphi в лист Excel
← →
Palladin
(2003-07-10 15:20)
[3]
Pictures.SaveToFile(FileName);
ActiveSheet.Pictures.Insert(FileName);
DeleteFile(FileName);
← →
Veles
(2003-07-10 15:24)
[4]
Да проблема в том собственно, что надо вставить в определенную ячейку, как текст из базы данных:
XL.WorkSheets[1].Range[«K27»].Value := Table1PRIM.Value;
в Table1FOTO.Value храниться путь к файлу. Делаю:
XL.WorkSheets[1].Range[«B4»].Value := Pictures.Insert(Table1FOTO.Value);
не работает…
← →
Veles
(2003-07-10 15:26)
[5]
Говорит:
Symbol «Picture» is specific to a platform
← →
Palladin
(2003-07-10 15:28)
[6]
1 это Warning а не Error
2 картинка в экселе не привязывается к конкретной ячейки
← →
Veles
(2003-07-10 15:37)
[7]
А можно как-то к месту привязать ?
← →
Veles
(2003-07-10 15:43)
[8]
Все, огромное спасибо !
А место запоминается очень просто оказывается !
Рисунок всавляется в ту ячейку, которая была ВЫДЕЛЕНА при сохранение шаблона !
Чудеса…
|
|
|
Пожалуйста, выделяйте текст программы тегом [сode=pas] … [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как «свернуть» программу в трей.
3. Как «скрыться» от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
… (продолжение следует) …
Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка — 60 дней. Последующие попытки бан.
Мат в разделе — бан на три месяца…
из Delphi -> вставить TImage -> в Excel
, или TBitmap
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Full Member Рейтинг (т): 4 |
Хочу вставить TImage или TBitmap в ячейку экселевского документа. У кого есть опыт? Помогите! а так я вставляю текст:
var Excel, WorkBook, Sheet: Variant; ……… Excel := CreateOleObject(‘Excel.Application’); Excel.Workbooks.Open(FileName); WorkBook := Excel.WorkBooks.Item[1]; Sheet := Workbook.Sheets.Item[1]; ……….. Sheet.Cells[5, 5] := ‘Мой текст в ячейке’; Сообщение отредактировано: Grisha — 08.09.04, 06:18 |
P.O.D |
|
Метод AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height)
… Sheet.Shapes.AddPicture(‘C:1.bmp’,true,true,0,0,128,128); … |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Delphi: Общие вопросы
- Следующая тема
[ Script execution time: 0,0174 ] [ 16 queries used ] [ Generated: 13.04.23, 22:37 GMT ]