Question Faire un append sur un document Word existant

Plus d'informations
il y a 12 ans 3 mois #16514 par Laurent Dardenne
tehKNi écrit:

voilà mon bout de script (mais effectivement je me rends compte que plus j'avance moins ça ressemble à du PS) :

C'est tout à fait normal, Ole Automation est spécifique.

tehKNi écrit:

enfin bon ça fait que depuis 6h que je suis sur un truc aussi débile

C'est comme tout, tant qu'on ne sait pas faire on perd du temps.
Quelle version d'office utilises-tu ?
Enregistre une macro pour ton opération, cela peut te donner qq pistes.

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 3 mois #16518 par tehKNi
C'est du Office 2010.

Effectivement le macro m'aurait aidé pas mal si j'y avais pensé avant...

Cependant la traduction en elle-même me pose encore quelques problèmes sur ça :

VBA : Selection.GoTo wdGoToBookmark, , , \"\EndOfDoc\"
PS : source_doc.GoTo('wdGoToBookMark',[ref]$null,[ref]$null,[ref]$null,[ref]'\EndOfDoc'

Bon ça clignote de tous les côtés et ça veut absolument pas faire ce que je veux à ce stade, je ne sais pas trop comment m'y prendre.

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

Plus d'informations
il y a 12 ans 3 mois #16521 par Laurent Dardenne
Ole Automation utilise COM et le type variant , il faut utiliser la classe Missing comme dans l'exemple suivant :
[code:1]
#<-- Paramétres de la méthode SaveAS
#Récupére le format de sauvegarde de l'énumération xlFileFormat à partir de l'assembly interop Excel
$FileFormat=[Microsoft.Office.Interop.Excel.xlFileFormat]::«»xlCsv
#Missing indique pour un objet COM un paramètre absent.
# [System.Type]::Missing] n'est pas égal à $Null
$Password=[System.Type]::Missing
$WriteResPassword=[System.Type]::Missing
$ReadOnlyRecommended=$False
$CreateBackup=$False
$AddToMru=$False
$TextCodepage=[System.Type]::Missing
$TextVisualLayout=[System.Type]::Missing
$LangueLocal=$False
#-->
#On choisi d'enregistrer la feuille sélectionnée
# Version simplifiée : $Classeur.SaveAs($NomFichierTmp,$FileFormat)
$Classeur.SaveAs($NomFichierTmp,
$FileFormat,
$Password,
$WriteResPassword,
$ReadOnlyRecommended,
$CreateBackup,
$AddToMru,
$TextCodepage,
$TextVisualLayout,
$LangueLocal)
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 6/12/13 11:58

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 3 mois #16523 par tehKNi
pas mal, ça me fait avancer mais ça ne marche toujours pas :laugh:

J'en suis ici :

$source_doc.GoTo([ref]-1,[system.type]::misssing,[system.type]::misssing,'\EndOfDoc')

et j'ai droit à...

\&quot;GoTo : Argument: '2' should be a System.Management.Automation.PSReference. Use [ref]

Bon évidemment quand j'utilise [ref] un peu partout ça ne marche pas vraiment mieux (bon, pareil en fait :woohoo: ).

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

Plus d'informations
il y a 12 ans 3 mois #16526 par Laurent Dardenne
tehKNi écrit:

Bon évidemment quand j'utilise [ref]

J'ai effectivement du code avec et sans usage de [ref] dans le doute j'ai pris celui sans en me disant que si nécessaire le parseur le signalerait.

Peux-tu nous communiquer le code actuel ?

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 3 mois #16527 par tehKNi
[code:1]$files = Get-childItem $dir
$objword = New-Object -ComObject Word.Application
$objword.Visible = $true
$source_doc = $objword.Documents.Open($source)
foreach ($file in $files) {
$original_doc = $objword.Documents.Open($file.FullName)
Write-Host $file.FullName
$original_doc.ActiveWindow.Selection.WholeStory()
$copy = $original_doc.ActiveWindow.Selection.Copy()
$source_doc.Activate()
$wdGotoBookmark=-1
$wdFormatOriginalFormatting=16
$source_doc.GoTo($wdGotoBookmark,[System.Type]::Missing,[System.Type]::Missing,'\EndOfDoc')
$source_doc.ActiveWindow.Selection.PasteAndFormat($wdFormatOriginalFormatting)
#$objword.Quit([ref]'wdDoNotSaveChanges')
}[/code:1]

Merci :whistle:

Message édité par: tehKNi, à: 6/12/13 15:35<br><br>Message édité par: tehKNi, à: 8/12/13 14:58

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

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