実際に動かすためには、参照設定をするか、列挙を値に書き換える必要があります。
「参照設定」はご存じないですか。古い記事ですがこちらに手順が書いてあります。(参照設定の手順だけ見てください! 余計な操作も書いてありますので注意)
http://indesign.cs5.xyz/vb/making.html
参照設定がわからなければ、次のコードを実行してみてください。これは私のところで動くのを確認しました。
Sub InDesignでページごとにPNG書き出し()
Set ws = ThisWorkbook.ActiveSheet
Set app = CreateObject("InDesign.Application.2024")
With app.PNGExportPreferences
.PNGExportRange = 1785742674
.ExportingSpread = False
.PngSuffix = ""
.PNGQuality = 1701727608
.ExportResolution = 300
.PNGColorSpace = 1666336578
.TransparentBackground = False
.AntiAlias = True
.UseDocumentBleeds = False
.SimulateOverprint = False
.ExportingHiddenSpread = False
End With
If app.documents.Count < 1 Then
MsgBox "ドキュメントが開かれていません"
Exit Sub
End If
Set doc = app.ActiveDocument
i = 3 'Excelのセルの行
j = 1 'InDesignドキュメントのページ
Do While ws.Cells(i, 2).Value <> ""
app.PNGExportPreferences.PageString = CStr(j)
doc.Export 1699761735, ThisWorkbook.Path & "\" & ws.Cells(i, 2).Text & ".png"
i = i + 1
j = j + 1
Loop
End Sub
同じエラーは出ないはずです。環境によって別のエラーが出るかもしれませんが、それについてはサンプル提示の範囲を超えているので、別途ご相談です(チャリン)
... View more