Dependence:
Windows系统,安装有MS Office或者WPS Office
ppt2imgas.vbs:
Option Explicit
Sub WriteLine ( strLine )
WScript.Stdout.WriteLine strLine
End Sub
Dim inputFile
Dim outputDir
Dim objPPT
Dim objPresentation
Dim objPrintOptions
Dim objFso
Dim oSl
Dim lWidthInPixels
Dim lHeightInPixels
If WScript.Arguments.Count <> 2 Then
WriteLine "You need to specify input and output files."
WScript.Quit
End If
inputFile = WScript.Arguments(0)
outputDir = WScript.Arguments(1)
Set objFso = CreateObject("Scripting.FileSystemObject")
If Not objFso.FileExists( inputFile ) Then
WriteLine "Unable to find your input file " & inputFile
WScript.Quit
End If
Function CreateFolderRecursive(path)
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
'If the path exists as a file, the function fails.
If FSO.FileExists(path) Then
CreateFolderRecursive = False
Exit Function
End If
'If the path already exists as a folder, don't do anything and return success.
If FSO.FolderExists(path) Then
CreateFolderRecursive = True
Exit Function
End If
'recursively create the parent folder, then if successful create the top folder.
If CreateFolderRecursive(FSO.GetParentFolderName(path)) Then
If FSO.CreateFolder(path) Is Nothing Then
CreateFolderRecursive = False
Else
CreateFolderRecursive = True
End If
Else
CreateFolderRecursive = False
End If
End Function
If Not CreateFolderRecursive(outputDir) Then
WriteLine "Unable to find your output dir " & outputDir
WScript.Quit
End If
WriteLine "Input File: " & inputFile
On Error Resume Next ' Defer error trapping.
Set objPPT = Getobject(, "PowerPoint.Application")
If Err.Number <> 0 Then
Err.Clear ' Clear Err object in case error occurred.
Set objPPT = CreateObject("PowerPoint.Application")
End If
objPPT.Visible = True
objPPT.Presentations.Open inputFile
Set objPresentation = objPPT.Presentations(objFso.GetFileName(inputFile))
Set objPrintOptions = objPresentation.PrintOptions
objPrintOptions.Ranges.Add 1,objPresentation.Slides.Count
objPrintOptions.RangeType = ppShowAll
lWidthInPixels = 1920
lHeightInPixels = 1080
For Each oSl In objPresentation.Slides
oSl.Export outputDir & "\I_" & oSl.SlideIndex & ".jpg", _
"JPG", _
lWidthInPixels, _
lHeightInPixels
Next
objPresentation.Close
Run CMD:
cscript ppt2imags.vbs <ppt file path> <output dir>
网友评论