PowerPoint2007SP2,ExportAsFixedFormat PowerShell?
-
23-08-2019 - |
문제
어제 내가 하려고 일괄 변환의 그룹%P Pdf 파일로 친구를 위해,그리고 내가 결정을 살펴 PowerShell,기 때문에 앉아 내 HD 니다.
여기에 코드를 나왔습니다.
$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)
이후"무력"방법을 작동하지 않았("유형의 불일치")트 열거진 유형
$pptypepdf= [Microsoft.Office.Interop.PowerPoint.PpFixedFormatType]::PpFixedFormatTypePDF
$f.ExportAsFixedFormat('\some\newfile.pdf', $pptypepdf)
이상한 것은 여기에 그것은 여전히 던져"형식 불일치"오류가 발생합니다...
또한,다른 이름으로 잘 작동합
$f.SaveAs('\some\newfile.pdf', 32) # 32 is for PDF
무엇이 잘못된 것입니까?
업데이트
관련 설명서:
여기에 오류 메시지
$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
올바른 솔루션이 없습니다
다른 팁
가 동일한 문제에 있습니다.지정 PrintRange
인수에서 말했듯이 솔루션을 통해 스테판 Schukat:
이것이 버그에서 파워포인트가 있습니다.그것이 정의하는"[에서 선택, 기본값(0)]PrintRange*PrintRange"리드를 생성 의"PrintRange=0"python 래퍼입니다.따라서 당신을 얻을 것이다 할 때 오류를 호출하는 방법입니다.그래서 아무 문제의 makepy.해결 방법 전화 방법과 PrintRange=None 이 없는 vali COM 체입니다.E.g.니다.ExportAsFixedFormat(pptFile+'.pdf', win32com.클라이언트입니다.상수입니다.ppFixedFormatTypePDF, win32com.클라이언트입니다.상수입니다.ppFixedFormatIntentScreen,PrintRange=None) 작업해야 합니다.
출처:유형이 일치하지 않을 때 사용하여 내보내기 기능 PowerPoint2007
몰 PowerShell 에서 모든 일이 들어:
$p.ActivePresentation.PrintOptions.Ranges.Add(1,1)
$r = $p.ActivePresentation.PrintOptions.Ranges.Item(1)
$document.ExportAsFixedFormat('D:\\ps.pdf', 2, 1, 0, 1, 1, 0, $r)
이지 않는 전체 솔루션이지만,수출하는 일입니다.그것은 어떻게든 수출 전체 프레젠테이션 뿐만 아니라 슬라이드 아니다.1 으로,저는 생각했다.P.S.오입니다.여기에 동 솔루션