Specificare la posizione della nuova forma inline in Word VBA?
Domanda
Sto lavorando a un documento " procedura guidata " per l'azienda per cui lavoro. È un file .dot con un'intestazione composta da un po 'di testo e alcuni campi del modulo e molto codice VBA. Il corpo del documento viene inserito come oggetto OLE da un file .doc separato.
Attualmente, questo viene fatto come Shape
, piuttosto che come InlineShape
. L'ho fatto perché posso assolutamente posizionare Shape, mentre InlineShape appare sempre all'inizio del documento.
Il problema è che una Shape
non si sposta quando cambia la dimensione dell'intestazione. Se qualcuno ha bisogno di aggiungere o rimuovere una linea dall'intestazione a causa di un caso speciale, deve anche spostare l'oggetto che definisce il corpo. Questo è un dolore, e vorrei evitarlo se possibile.
Per farla breve, come posso posizionare un InlineShape
usando VBA in Word?
La versione che sto usando è Word 97.
Soluzione
InlineShape è trattato come una lettera. Quindi, la stessa tecnica.
ThisDocument.Range(15).InlineShapes.AddPicture "1.gif"
Altri suggerimenti
Il mio codice finale è finito con ThisDocument.Paragraphs
per ottenere l'intervallo di cui avevo bisogno. Ma GSerg mi ha indicato la giusta direzione per usare un Range
per portare il mio oggetto dove doveva essere.