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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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.RuntimeException' nesta linha: Numeracao.replaceByIndex(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.getByIndex(i) For j = 0 To UBound(vProp()) If vProp(j).Name = "NumberingType" Then vProp(j).Value = com.sun.star.style.NumberingType.CHARS_LOWER_LETTER oNumeracao.replaceByIndex(i, vProp()) End If Next j Next i Cursor.setPropertyValue("NumberingRules", oNumeracao) DELPHI ------- Numeracao := Document.createInstance ('com.sun.star.text.NumberingRules'); for i := 0 to 2 do begin Prop := Numeracao.getByIndex(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.replaceByIndex(i, Prop); end; end; end; Cursor.setPropertyValue('NumberingRules', 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]