2008-09-19 24 views
1

Je travaille sur un document "assistant" pour l'entreprise pour laquelle je travaille. C'est un fichier .dot avec un en-tête composé de texte et de champs de formulaire, et beaucoup de code VBA. Le corps du document est inséré en tant qu'objet OLE à partir d'un fichier .doc distinct.Spécification de l'emplacement de la nouvelle forme en ligne dans Word VBA?

Actuellement, cela se fait en Shape, plutôt qu'en InlineShape. Je l'ai fait parce que je peux absolument positionner la forme, alors que InlineShape apparaît toujours au début du document.

Le problème avec ceci est qu'un Shape ne bouge pas lorsque la taille de l'en-tête change. Si quelqu'un doit ajouter ou supprimer une ligne de l'en-tête en raison d'un cas particulier, ils doivent également déplacer l'objet qui définit le corps. C'est une douleur, et j'aimerais l'éviter si possible. En bref, comment positionner un InlineShape en utilisant VBA dans Word?

La version que je utilise est Word 97.

Répondre

2

InlineShape est traité comme une lettre. Par conséquent, la même technique.

ThisDocument.Range(15).InlineShapes.AddPicture "1.gif" 
-1

Mon code final a fini par utiliser ThisDocument.Paragraphs pour obtenir la gamme dont je avais besoin. Mais GSerg m'a indiqué dans la bonne direction d'utiliser un Range pour obtenir mon objet où il devait être.

+0

Votre code modifié serait utile si vous y avez toujours accès? –