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]