Question Tuto fiche serveur avec word

Plus d'informations
il y a 15 ans 5 mois #8334 par de França
Bonjour,

Je rencontre un problème pour suivre ce tuto
scriptingof.blogspot.com/2009/01/creatio...rveur-avec-word.html

J'ai pus installer OpenXml SDK 1.0 mais ensuite il demande d'installer les PowerTools, j'ai donc téléchargé les sources données ici:
powertools.codeplex.com/

Sur le tuto il donne la marche à suivre suivante:

Pour installer les PowerTools, vous aurez besoin des sources et de les compiler avec Visual C# Express par exemple pour générer la DLL… Ou bien, récupérer celle que j’ai générée pour vous ici…

Pour l’installation, dans une fenêtre PowerShell :

PS> cd C:\Windows\Microsoft.NET\Framework64\v2.0.50727
PS> .\InstallUtil.exe C:\OpenXml.PowerTools.dll
PS> Add-PSSnapin OpenXml.PowerTools


Mais je n'ai pas de fichier nommé OpenXml.PowerTools.dll je n'ai que ce fichier avec l'extension xml: \"OpenXml.PowerTools.dll-Help.xml\".

Il parle de compiler mais je n'ai pas la moindre idée de comment compiler ces sources, y'à il un autre moyen que de compiler?

Merci<br><br>Message édité par: unfam0us, à: 8/02/11 10:08

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

Plus d'informations
il y a 15 ans 4 mois #8389 par de França
Réponse de de França sur le sujet Re:Tuto fiche serveur avec word
UP :whistle:

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

Plus d'informations
il y a 15 ans 4 mois #8390 par Jacques Barathon
Il semble bien qu'il n'y ait pas d'autre solution que de compiler le source pour avoir la DLL en question.

L'auteur du billet laisse entendre qu'il fournit une version compilée par ses soins, mais son billet ne contient aucun lien vers son fichier. Par contre il donne un lien vers Visual C# Express que tu peux installer gratuitement, et qui te permettra de compiler la DLL. Mais la manip n'est pas super simple si on n'a jamais fait de développement, et même si on en a fait mais qu'on n'est pas habitué à l'environnement Visual Studio.

J'avais écrit un rapide tuto sur le sujet de compiler une DLL pour l'utiliser dans PowerShell, c'était il y a des années. Il faudra que je recherche ça dans mes archives.

Sinon, pour utiliser Word 2007 dans PowerShell tu n'as pas spécialement besoin d'OpenXML ni des PowerTools : tu peux utiliser son objet COM, à la condition évidemment que Word soit installé sur la machine qui exécute ton script PowerShell.

J'ai également écrit une série d'articles sur le sujet, tu peux les trouver sur mon blog janel.spaces.live.com/blog, par exemple :

janel.spaces.live.com/blog/cns!9B5AA3F6FA0088C2!321.entry

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

Plus d'informations
il y a 15 ans 4 mois #8410 par de França
Réponse de de França sur le sujet Re:Tuto fiche serveur avec word
Merci super ton blog B)

J'avais déjà vu quelque article concernant le pilotage de word. Mais mon but dans les document que je traite est de faire un document dans lequel j'envoie le résultat de la commandlet et ensuite d'y ajouter toujours via powershell un pied de page un titre etc. afin de faire quelque chose de propre.

Je n'ai rien trouvé de cela avec les objet com de word, si tu as quelque chose à me proposer je suis preneur car je trouve la solution de l'openXML un peu compliqué?!

Mercii

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

Plus d'informations
il y a 15 ans 4 mois #8411 par Jacques Barathon
Tu peux faire tout ça avec l'objet COM. En gros, tout ce que tu pourrais faire dans Word, tu peux le reproduire par des appels à l'objet COM.

Voici un exemple très sommaire qui crée un document Word avec une ligne \&quot;Liste des process\&quot; en Arial 10 suivie par le résultat de la commande \&quot;get-process\&quot; en Consolas 10. Pour le fun, j'ai ajouté la numérotation des pages en pied de page.

[code:1]

$word = new-object -com word.application
$doc = $word.documents.add()
$doc.content.font.name = \&quot;Consolas\&quot;
$doc.content.font.size = 10

$doc.content.text = \&quot;Liste des process :\&quot;
$doc.paragraphs.item(1).insertparagraphafter()
$doc.Paragraphs.item(2).range.text = (get-process | out-string)

$doc.content.paragraphs.item(1).range.font.name = \&quot;Arial\&quot;

$doc.sections.item(1).footers.item(3).pagenumbers.add() &gt; $null

$doc.saveas([ref]\&quot;$($pwd.path)\fiche.doc\&quot;«»)
$doc.close()
$word.quit()
[/code:1]<br><br>Message édité par: janel, à: 23/12/10 11:43

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

Plus d'informations
il y a 15 ans 4 mois #8414 par Jacques Barathon
Petite amélioration de mon exemple (et correction d'une ou deux coquilles au passage). Cette fois-ci j'applique à la première ligne \&quot;Liste des process\&quot; le style \&quot;Titre 2\&quot;, ce qui permettra une meilleure cohérence du document si son contenu est amené à s'étoffer. :)

[code:1]
$word = new-object -com word.application
$doc = $word.documents.add()

$pn = $doc.sections.item(1).footers.item(3).pagenumbers.add()

$doc.content.text = \&quot;Liste des process\&quot;
$doc.content.paragraphs.item(1).style = $doc.styles.item(\&quot;Titre 2\&quot;«»)

$doc.content.insertparagraphafter()
$doc.Paragraphs.item(2).range.font.name = \&quot;Consolas\&quot;
$doc.Paragraphs.item(2).range.font.size = 10
$doc.Paragraphs.item(2).range.text = (get-process | out-string)

$doc.saveas([ref]\&quot;$($pwd.path)\fiche.doc\&quot;«»)
$doc.close()
[/code:1]

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

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