Page 1 sur 1

[R] Conversion doc/xls/ppt --> docx/xlsx/pptx

Posté : mer. 06 avr. 2016 13:47
par Teckos
Bonjour à tous,

Je travaille sur un script pour le boulot, le but est de convertir les formats doc / xls / ppt ( Respectivement Word / Excel et PowerPoint donc ) dans les nouveaux formats de Microsoft à savoir docx / xlsx / pptx, pour ceux qui peuvent se demander la raison c'est un gain de place qui peut être énorme sur un très grand nombre de documents.

Mon script fonctionne très bien avec les doc, pas toujours avec les xls et quasiment jamais avec les ppt.
A savoir que quand je commente la partie de code pour les ppt, les xls on l'air de fonctionner plus souvent mais ce n'est pas garanti.

Voilà je suis vraiment dans le flou si une âme charitable peut m'aider je lui en serais très reconnaissant.
► Afficher le texteCode
Je vous joint également les deux UDF qui sont utilisés : _FileListToArrayEx_v3.au3 et Powerpoint.au3.

Re: [..] Conversion doc/xls/ppt --> docx/xlsx/pptx  

Posté : mer. 06 avr. 2016 19:39
par walkson
Bonjour,
Pour PowerPoint

Code : Tout sélectionner

$File = @ScriptDir & "\NewAFormatCopy.ppt"
$objPPT = ObjCreate("PowerPoint.Application")
$objopen = $objPPT.Presentations.Open ($File, 0, 0, 0) ;msoFalse
   $path = $objopen.Application.Presentations("NewAFormatCopy.ppt").Path
	$nameCpt = $objopen.Application.Presentations("NewAFormatCopy.ppt").Name
	$name = StringTrimRight($nameCpt,4)
    $objopen.Application.Presentations("NewAFormatCopy.ppt").SaveCopyAs ($path & "\"& $name & "-Conversion.pptx", 24);ppSaveAsOpenXMLPresentation
	$objopen.Application.Presentations("NewAFormatCopy.ppt").Close
Ou autrement, à la condition que PowerPoint soit ouvert que pour le fichier

Code : Tout sélectionner

$File = @ScriptDir & "\NewAFormatCopy.ppt"
$objPPT = ObjCreate("PowerPoint.Application")
$objopen = $objPPT.Presentations.Open ($File, 0, 0, 0) ;msoFalse
   $path = $objopen.Application.Presentations.Item(1).Path
	$nameCpt = $objopen.Application.Presentations.Item(1).Name
	$name = StringTrimRight($nameCpt,4)
    $objopen.Application.Presentations.Item(1).SaveCopyAs ($path & "\"& $name & "-Conversion.pptx", 24);ppSaveAsOpenXMLPresentation
	$objopen.Application.Presentations.Item(1).Close

Re: [..] Conversion doc/xls/ppt --> docx/xlsx/pptx

Posté : jeu. 07 avr. 2016 09:34
par Teckos
Merci à vous, j'ai pu adapter à partir de votre code ce qui ne fonctionné pas et corriger certaines de mes erreurs, tout à l'air de fonctionner pour l'instant =)