Desculpa a sugestão boba, mas vc deu uma olhada no SDK do OpenOffice? Acho que 
vc vai achar as chamadas que precisa direto por lá.


----- Mensagem original ----
De: Monica Dachary <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 12 de Dezembro de 2006 8:23:53
Assunto: Re: [delphi-br] Integração Delphi/OpenOffice - Problema c/ 
marcadores/numeração









  


    
            Olá Ricardo,

   

  Sim, a variável Prop é do tipo Variant.

   

  Por favor, se souber de alguém que já tenha mexido com isso me avise. Já fiz 
de tudo aqui e não dá certo. Já vasculhei o Google, o site do OpenOffice.org e 
tudo que encontrei foi esse mesmo exemplo em Basic... nenhum exemplo em Delphi, 
e acredito que a tradução p/ o Delphi que fiz esteja correta. Então acho que o 
problema é com esse comando replaceByIndex. .. só não sei exatamente o que é 
que tem de errado. Pelo que eu pesquisei, essa mensagem de erro dá qdo. não se 
tem um tipo definido... de qualquer forma não entendi o que ocorre, pois todas 
as variáveis estão definidas e a princípio com os tipos corretos.

   

  []'s

  Mônica



Ricardo Cesar Cardoso <ricardo_listadelphi @yahoo.com. br> escreveu:

          Boa tarde Mônica!



Não sei bem com resolver o seu problema, até porque a única implementação de 
OpenOffice e Delphi que fiz foi uma integração entre o OOCalc e o Delphi, mas 
vou procurar alguma coisa. 



Se eu achar eu posso até postar aqui.



A respeito da tradução Basic / Pascal eu acredito que tudo esteja ok, mas só 
por via das dúvidas, qual é o tipo da variável vProp (Basic) / Prop (Pascal)? 
Por acaso ela é um Variant?



Abraço,

Ricardo.



monicadachary <monicadachary@ yahoo.com. br> escreveu: Olá pessoal,



Meu nome é Mônica e sou nova aqui no grupo.



Estou com um problema e gostaria de saber se alguém aqui que já tenha 

trabalhado c/ integração Delphi/OpenOffice poderia me ajudar.



Estou tentando portar um código em Basic relativo à alteração e 

aplicação de marcadores/numeraçã o em um documento do OpenOffice. 

Porém eu recebo a mensagem 'com.sun.star. uno.RuntimeExcep tion' nesta 

linha: Numeracao.replaceBy Index(i, Prop);



A baixo segue o código em Basic e a minha tentativa de tradução p/ o 

Delphi:



BASIC 

------

oNumeracao = oDoc.createInstance ("com.sun. star.text. NumberingRules" ) 

For i = 0 To 2 

vProp = oNumeracao.getByInd ex(i)

For j = 0 To UBound(vProp( )) 

If vProp(j).Name = "NumberingType" Then 

vProp(j).Value = 

com.sun.star. style.NumberingT ype.CHARS_ LOWER_LETTER 

oNumeracao.replaceB yIndex(i, vProp()) 

End If 

Next j 

Next i 

Cursor.setPropertyV alue("NumberingR ules", oNumeracao) 



DELPHI

-------

Numeracao := Document.createInst ance 

('com.sun.star. text.NumberingRu les'); 

for i := 0 to 2 do 

begin 

Prop := Numeracao.getByInde x(i); 

for j := 0 to VarArrayHighBound( Prop, 1) do 

begin 

if Prop[j].Name = 'NumberingType' then 

begin 

Prop[j].Value := 1; //CHARS_LOWER_ LETTER 

Numeracao.replaceBy Index(i, Prop); 

end; 

end; 

end; 

Cursor.setPropertyV alue('NumberingR ules', Numeracao); 



Ao que me parece não está sendo possível executar o comando 

replaceByIndex.



Procurei nas mensagens do Forum sobre API no OpenOffice.org mas não 

encontrei maiores explicações.



Por favor, se alguém souber o que há de errado me ajude.



Obrigada,

Mônica



------------ --------- --------- ---

Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora!



[As partes desta mensagem que não continham texto foram removidas]



                

------------ --------- --------- ---

 O Yahoo! está de cara nova. Venha conferir!



[As partes desta mensagem que não continham texto foram removidas]





    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->








                
_______________________________________________________ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 


[As partes desta mensagem que não continham texto foram removidas]

Responder a