Bonjour,

je vous remercie pour tous pour vos conseils et assistances.

j'ai résolus le problème en changeant juste l'encodage du script powershell lui même (notepad++ menu encodage).

je l'ai passé en utf16-BE et ça a résout le problème 

Merci une deuxième Fois pour votre aide généreuse.





Le 4 juin 2015 11:44, tarik chichane <tarikchichane2006@gmail.com> a écrit :
bonjour,

est c que tu peux me dire quel encodage tu utilise dans ton interpréteur powershell, sinon c'est quoi l'interpréteur powershell que tu utilises.

Merci 1000 fois d'avance

Tarik CHICHANE


Le 3 juin 2015 18:31, Lucas <lucas.spam@gmail.com> a écrit :
Hum, fonctionne "out of the box" chez moi avec un fichier test.doc et tést.doc

Le 3 juin 2015 19:18, Benjamin AVET <benjamin.avet@gmail.com> a écrit :
Quel est l'encodage utilisé pour écrire ton scritp ?

Le 3 juin 2015 17:15, tarik chichane <tarikchichane2006@gmail.com> a écrit :
Bonjour,


je reviens vers vous pour un problème simple mais qui commence à peser lourd

j'ai un répertoire qui contient beaucoup de document word (une centaine).

je veux ajouter une ligne au début de chaque document qui contient la mention document restreint.

là j'attaque la tâche avec du powershell

tout marche bien, tout est nickel, la ligne s'ajoute et le document est bien modifié.

je passe en production et c'est la catastrophe.

tout les fichiers qui contiennent dans leur titre un accent ou un caractère spéciale

sont catégoriquement rejeté et je ne peux pas les ouvrir.


mon script est 

$file1 = "D:/matricule/DéPLOIMENT_V1.2.docx"
#$file1 = "D:\matricule\DEPLOIMENT_V1.2.docx"
Try

#Open Microsoft Word and add text defined in $key then save

{

[ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as [type]

$word = New-Object -ComObject Word.Application

$word.visible = $false

$doc = $word.Documents.Add($file1)

$selection = $word.Selection

$selection.typeText($key)

$doc.saveas([ref] $file1, [ref]$SaveFormat::wdFormatDocument)

}

#Catch

#If error occurs send email

#{

#Send-MailMessage -from $smtpFrom -subject $messageSubject -body $messagebody -To $smtpTo -smtpserver $smtpsrvr -port 25

#}

Finally

#Close Microsoft Word

{

$word.quit()

$word = $null
}

avec un fichier deploiement_server.docx ça marche

pour le même fichier avec le nom déploiement_server.docx

ça marche pas (remarquer l'accent é dans déploiement) et j'ai l'erreur suivante

Exception lors de l'appel de « Add » avec « 1 » argument(s) : « Fichier introuvable. »
Au niveau de C:\Users\t.chichane\Desktop\modify_word.ps1 : 35 Caractère : 27
+ $doc = $word.Documents.Add <<<< ($file1)
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ComMethodTargetInvocation


est ce que vous avez eu ce genre de problème et comment l'avez vous résolus.

si vous avez une autre approche je suis très intéressé de l'entendre


Tarik CHICHANE


_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/



_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/



_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/