Gestern habe ich versucht, eine Gruppe von PPTs in PDFs für einen Freund zu konvertieren, und ich entschied mich für einen Blick auf PowerShell, da es eine Weile auf meiner HD sitzt.PowerPoint 2007 SP2, ExportAsFixedFormat in PowerShell?
Hier ist der Code, den ich mir ausgedacht habe.
$p = new-object -comobject powerpoint.application
# I actually don't know why I have to set the window to visible,
# but it doesn't work otherwise, anyway, it's not the real problem I have
$p.visible = 1
$f = $p.presentations.open('\some\file.ppt')
$f.ExportAsFixedFormat('\some\newfile.pdf', 2)
Da die "Brute Force" -Methode nicht funktionierte ("type mismatch") Ich habe versucht, den Aufzählungstyp mit
$pptypepdf= [Microsoft.Office.Interop.PowerPoint.PpFixedFormatType]::PpFixedFormatTypePDF
$f.ExportAsFixedFormat('\some\newfile.pdf', $pptypepdf)
Das Merkwürdige hier zu importieren ist, dass es immer noch einen „Typenkonflikt“ Fehler wirft ...
Außerdem funktioniert SaveAs fein mit
$f.SaveAs('\some\newfile.pdf', 32) # 32 is for PDF
Was mache ich falsch?
aktualisieren
Relevante Dokumentation:
Hier ist die vollständige Fehlermeldung
$pptypepdf= [Microsoft.Office.Interop.PowerPoint.PpFixedFormatType]::PpFixedFormatTypePDF
$f.ExportAsFixedFormat($filepath, $pptypepdf)
Exception calling "ExportAsFixedFormat" with "2" argument(s): "Type mismatch. (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))"
At line:1 char:23
+ $f.ExportAsFixedFormat <<<< ($filepath, $pptypepdf)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
Was ist der genaue Fehler? Ich habe MSDN überprüft, und die Dokumentation zu dieser Methode scheint für dieses Argument falsch zu sein. Und ich kann nicht einmal diese Aufzählung auf MSDN finden! – JasonMArcher
Ich habe die Frage mit den relevanten Details bearbeitet, danke –
Haben Sie versucht, einen Anruf mit allen optionalen Parametern? –