Dim app, oShell, oFolder
Set app = CreateObject("InDesign.Application")
If app.Documents.Count=0 Then
MsgBox "ドキュメントがありません。スクリプトを終了します。"
Else
Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.BrowseForFolder(0,"保存先のフォルダを選んでください", &H40 + &H1)
If oFolder Is Nothing Then
MsgBox "スクリプトがキャンセルされました。終了します。"
Set oShell = Nothing
Else
sFolder=oFolder.Self.Path
If Right(sFolder,1) <> "\" Then sFolder=sFolder & "\"
Set oShell = Nothing
nextstep app, sFolder
End If
End If
Sub nextstep(app, sFolder)
Dim pep(), i, doc, dlg, dlc, ddd, flag, pdfname, pepname
ReDim pep(app.PDFExportPresets.Count - 1)
For i = 0 To app.PDFExportPresets.Count - 1
pep(i) = app.PDFExportPresets(i + 1).Name
Next
Set doc = app.ActiveDocument
Set dlg = app.Dialogs.add
Set dlc = dlg.DialogColumns.add
with dlc.DialogRows.add
.StaticTexts.add
.StaticTexts(1).StaticLabel = "保存先のフォルダ:"
end with
with dlc.DialogRows.add
.StaticTexts.add
.StaticTexts(1).StaticLabel = sFolder
end with
with dlc.DialogRows.add
.StaticTexts.add
.StaticTexts(1).StaticLabel = "PDF ファイル名:"
end with
dlc.TextEditBoxes.add
dlc.TextEditBoxes(1).MinWidth = 240
dlc.TextEditBoxes(1).EditContents _
= Left(doc.Name, InStrRev(doc.Name, ".") - 1) & ".pdf"
with dlc.DialogRows.add
.StaticTexts.add
.StaticTexts(1).StaticLabel = "使用するPDF書き出しプリセット:"
end with
Set ddd = dlc.DropDowns.add
ddd.StringList = pep
flag = dlg.Show
If flag = false Then
MsgBox "スクリプトがキャンセルされました。終了します。"
Else
pdfname = dlc.TextEditBoxes(1).EditContents
pepname = ddd.StringList(ddd.SelectedIndex)
'PDF形式で書き出し--1952403524=idExportFormat.idPDFType
doc.Export 1952403524, sFolder & pdfname, False, pepname
Set WSShell = CreateObject("WScript.Shell")
WSShell.Run sFolder & pdfname
Set WSShell = Nothing
End If
End Sub
|