VBScript

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側の仕様かどうかは分かりませんが、「触っていてクセがあるなー」というのが、正直な感想です。

関連記事

  1. VBScript

    指定したフォルダ内のemlファイルの情報をリスト化するVBScript

    emlファイルから件名や本文、宛先や送信日時といった各種情報を取得して…

  2. VBScript

    WordPressのバックアップを取ってローカル環境で動かす方法(3)

    「WordPressのバックアップを取ってローカル環境で動かす方法(1…

  3. VBScript

    OWSPostDataオブジェクトを使って文字列をエンコードするVBS

    OWSPostDataオブジェクトのURLEncodeメソッドで文字列…

  4. Windows 10

    AppUserModelId(AUMID)を列挙するVBScript

    「「ファイル名を指定して実行」からMicrosoft Edgeを起動す…

  5. Office関連

    古い形式のWordテンプレートを新しい形式に一括変換するVBScript

    古い形式のWordテンプレート(dot)を新しい形式(dotx,dot…

  6. VBScript

    実行中のアプリケーション一覧を出力するVBScript

    「VBS アプリ一覧 出力」というキーワード検索での訪問があったので、…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP