Illustrator

Illustratorに登録されたPDFプリセットを列挙するVBScript

前回の記事で、VBSからIllustratorが操作できることを紹介しましたが、今回はIllustratorに登録されたPDFプリセットを列挙するスクリプトを紹介します。

下記スクリプトはIllustratorが起動済みであることを前提としています。Illustratorの起動からスクリプトに組み込む場合は、下記記事のコードをご参照ください。

Option Explicit

Dim appAi
Dim v, i

Set appAi = Nothing '初期化
On Error Resume Next
Set appAi = GetObject(, "Illustrator.Application")
On Error GoTo 0
If appAi Is Nothing Then
  WScript.Echo "Illustratorを起動した状態でスクリプトを実行してください。"
  Wscript.Quit
End If

'下記でオートメーションエラーが発生する場合は、一度手動でPDFプリセットダイアログを表示してから実行
On Error Resume Next
v = appAi.PDFPresetsList
If Err.Number <> 0 Then
  WScript.Echo "Error:" & Err.Number & vbNewLine & Err.Description
  Wscript.Quit
End If
On Error GoTo 0

'PDFプリセットを列挙
For i = LBound(v) To UBound(v)
  WScript.Echo v(i)
Next

Illustrator.ApplicationオブジェクトのPDFPresetsListプロパティから、PDFプリセットの名前を配列として取得できるのですが、私の環境だと単にIllustratorを起動しただけでは、下図のようにオートメーションエラーが発生しました。

一度手動でPDFプリセットダイアログを表示した後は、意図した通りにPDFプリセットが取得できたのですが、このあたりの挙動がいまいち掴めません。

外部スクリプトによるIllustratorオートメーションを試していると、度々こういった現象が発生します。

私の環境が悪いのか、Illustrator側の仕様かどうかは分かりませんが、「触っていてクセがあるなー」というのが、正直な感想です。

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP