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

関連記事

  1. Office関連

    Officeアプリケーションのバージョン情報ダイアログから情報を取得するVBScript

    自分の手間を減らすためのスクリプトシリーズ、今回はWordやExcel…

  2. Windows関連

    右クリックメニューからフォルダを管理者権限で開く(コマンド プロンプト)

    フォルダをShiftキーを押しながら右クリックすると、「コマンド ウィ…

  3. Office関連

    Wordのテンプレートをインストールするスクリプト

    Wordマクロをテンプレートにして使用する場合、通常そのテンプレートフ…

  4. VBScript

    Internet Explorerのお気に入りを列挙するVBScript

    Internet Explorerのお気に入りにどの位のインターネット…

  5. VBScript

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

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

  6. Windows関連

    AppUserModelId(AUMID)を列挙するVBScript

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

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP