Especificar localização do novo InlineShape no Word VBA?
Pergunta
Eu estou trabalhando em um documento "assistente" para a empresa que eu trabalho para. É um arquivo .dot com um cabeçalho que consiste de algum texto e alguns campos de formulário, e um monte de código VBA. O corpo do documento é obtida como um objeto OLE de um arquivo .doc separado.
Atualmente, isso está sendo feito como um Shape
, ao invés de um InlineShape
. Eu fiz isso porque eu posso absolutamente posicionar a forma, enquanto o InlineShape sempre aparece no início do documento.
O problema com isto é que um Shape
não se move quando o tamanho do cabeçalho muda. Se alguém precisa de adicionar ou remover uma linha do cabeçalho devido a um caso especial, eles também precisam de mover o objeto que define o corpo. Esta é uma dor, e eu gostaria de evitá-lo, se possível.
Para encurtar a história, como faço para posicionar um InlineShape
usando VBA no Word?
A versão que estou usando é Word 97.
Solução
InlineShape é tratada como uma carta. Assim, a mesma técnica.
ThisDocument.Range(15).InlineShapes.AddPicture "1.gif"
Outras dicas
O meu código final acabou usando ThisDocument.Paragraphs
para obter a faixa que eu precisava. Mas GSerg apontou-me na direção certa de usar um Range
para obter o meu objeto onde ele precisava ser.