Question creation plaquette images word en Powershell

Plus d'informations
il y a 9 ans 2 semaines #23261 par L
Bonjour à tous,

Après de nombreux essais et des recherches sur Internet je n'arrive pas à trouver de solution.. Je me tourne donc vers vous..

J'explique mon souhait :
J'ai réalisé un script qui permet de générer des QRcodes, le but étant d'équiper l'ensemble de notre parc informatique.
Cependant les QRcodes générés sont au format PNG.
Afin d'automatiser le tout et permettre l'impression, j'aimerais créer un plaquette de l'ensemble des QRCodes sous Word.

Afin de mieux comprendre voici un dessin :

logo entreprise
QRcode
texte



Pour le moment j'arrive seulement à mettre les Qrcode sur la même ligne mais dès que j'insère du texte et le logo je n'arrive pas à obtenir le résultat souhaité...

Voici mon code actuel :

[code:1]#Permet d'ouvrir un nouveau document Word
$word = New-Object -ComObject Word.Application
#Permet de rendre visible à l'écran le nouveau document Word sinon il apparaît seulement dans les processus
$word.Visible = $true
#Permet de rendre le document modifiable
$objDoc = $word.Documents.Add()
#Permet de sélectionner la fenêtre Word
$Selection = $Word.Selection
#Import du logo entreprise
$logo=\"chemin logo\"
#boucle pour récupérer l'ensemble des QRcode ainsi que les noms
$rep=Get-ChildItem -Path \"chemin dossier Qrcode\"
foreach ($f in $rep){
$fullname =$f.FullName
$name=$f.Name
$name_splitted=$name.Split('.')
$Selection.InlineShapes.AddPicture($fullname)
}[/code:1]


Voici une capture du résultat actuel + illusatration du résultat souhaité :



Merci d'avoir pris le temps de me lire,
En espérant trouver une solution :)

Message édité par: pxllls, à: 8/03/17 14:48<br><br>Message édité par: pxllls, à: 8/03/17 14:50
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 2 semaines #23262 par Laurent Dardenne
Analyse la structure d'un document correct.
Peut être que des objets Range sont nécessaires...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 2 semaines #23263 par Marc
Bonjour,
Si je comprend bien tu souhaiterais avoir un saut de ligne entre chaque élément ?

La commande pour word est :
[code:1]$Selection.TypeParagraph()[/code:1]

Ce qui donne pour ton code:

[code:1]
foreach ($f in $rep){
$fullname =$f.FullName
$name=$f.Name
$name_splitted=$name.Split('.')
$Selection.InlineShapes.AddPicture($logo)|Out-Null
$Selection.TypeParagraph()
$Selection.InlineShapes.AddPicture($fullname)|Out-Null
$Selection.TypeParagraph()
$Selection.TypeText('Le text ici')
$Selection.TypeParagraph()
}
[/code:1]

Un truc a hyper pratique quand on veut retrouver les commande pour Office, c'est l'enregistreur de macro :P

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 2 semaines #23264 par L
Merci pour ta réponse marcci.

Laurent peux-tu m'aiguiller car je ne trouve pas de commande avec des objets Range ?

D'ailleurs j'ai dû mal à trouver des commandes pour word en Powershell....

J'ai essayé en ajoutant la ligne [code:1]$Selection.TypeParagraph()[/code:1]

Alors niveau résultat effectivement ça s'améliore ! :)

Cependant la disposition n'est pas top, étant donné que le logo inséré au dessus est éloigné du QRcode pareil pour le texte.

Du coup peut-on paramétrer une mise en forme pour rapprocher et centrer le tout ? Je n'arrive pas à trouver...

Pour le texte créer une zone de texte à chaque fois est peut-être mieux?

Par contre avec cette technique les QRcode sont les uns en dessous de les autres, j'essaye de faire une plaquette du coup c'est possible de faire pareil mais toujours en étant les uns à côtés des autres ?

Encore merci pour votre aide !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 1 semaine #23265 par Laurent Dardenne
pxllls écrit:

D'ailleurs j'ai dû mal à trouver des commandes pour word en Powershell....

Voir le modèle objet de l'application.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 1 semaine #23269 par L
Bonjour,

Merci Laurent pour le lien.

Cependant je n'arrive pas à utiliser les objets, tous les exemples sont en VBA et lorsque j'essaye d'adapter en powershell celui-ci ne reconnaît pas les objets...

Je suis sur que c'est pas compliqué en plus il reste plus que la mise en forme le plus gros est fait :dry:

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.051 secondes
Propulsé par Kunena