Inserindo imagem em planilha excel pelo forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Boa tarde gentem

Tenho uma aplicação em que gero uma planilha excel pelo forms... tudo beleza até ai.

Mas quero inserir uma imagem na planilha.. e não achei o comando.. ou sintaxe

Alguém poderia me ajudar ???

Grata

Debby
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

Ola, boa noite... eu tenho uma aplicação onde eu exibo uma imagem salvo no banco num relatório word... acho q podemos trocar umas idéias

logo eu posto aqui os códigos que utilizo e como utilizo, talvez lhe ajude...
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu achei um tópico onde usam OLE2 pra isso:

Selecionar tudo

PROCEDURE insert_image (p_filename in varchar2) IS
  args ole2.List_Type;
  picture ole2.obj_type;
  pictures ole2.obj_type;
BEGIN
  ole2.DESTROY_ARGLIST(args);
  pictures := ole2.invoke_obj(worksheet,'Pictures');
  args := ole2.create_arglist;
  ole2.add_arg(args, p_filename);
  picture := ole2.invoke_obj(pictures, 'Insert', args);
  ole2.destroy_arglist(args);
END;
E tem um outro pra poder posicionar em um determinado local.
Aqui tem vários comandos com objetivos diferentes:

Selecionar tudo

row_count := (row_count + 1);
row_n := row_count;

if v_image_count is not null then
if v_image_count > 0 then

col_n := 7;
--ADJUST HEIGHT OF ROW TO ALLOW FOR PICTURE

args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args,row_n );
row := OLE2.GET_OBJ_PROPERTY(worksheet, 'rows', args);
OLE2.SET_PROPERTY(row,'ROWHEIGHT' , 100);
OLE2.RELEASE_OBJ(row);

--GET CELL POSITION
args := ole2.create_arglist;
ole2.add_arg (args, row_n);
ole2.add_arg (args, col_n);
cell := ole2.get_obj_property (worksheet, 'Cells',args);
ole2.destroy_arglist (args);

cel_data := 100;
cel_data2 :=85;

-- GET POSITION TOP LEFT
cel_data3 := ole2.get_num_property (cell, 'Left');
cel_data4 :=ole2.get_num_property (cell, 'Top');

-- INSERT PICTURE
pictures := OLE2.INVOKE_obj(worksheet,'Pictures');
args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, v_image_file);
picture := OLE2.INVOKE_obj(pictures,'Insert',args);
OLE2.SET_PROPERTY(picture,'Height' , cel_data);
OLE2.SET_PROPERTY(picture,'Width' , cel_data2);
OLE2.SET_PROPERTY(picture,'Left' , cel_data3);
OLE2.SET_PROPERTY(picture,'Top' , cel_data4);
OLE2.DESTROY_ARGLIST(args);
OLE2.RELEASE_OBJ(picture);
OLE2.RELEASE_OBJ(cell);
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes