2015年11月7日土曜日

Illustratorの変数(xml)を自動生成するエクセルファイル

Illustratorの変数パネルでは、カード型データベースの様に文字列を動的に変更できる機能があります。

ハガキや名刺、住所の宛名印刷など、WordとExcelでの差し込み印刷みたいな事ができますが、リストのxmlファイルを作るのが面倒だったので、簡単に生成できるエクセルファイル(xlsm)を作りました。
思ったより便利なのが出来たので、お使いいただけたら幸いです。

ダウンロード

変更履歴
  • Ver.4(テスト版)(2018/11/4)
    文字列のみ対応だったものを、リンクファイル(リンク画像)にも対応しました。
  • Ver.3(2016/2/11)
    特定の記号を使うと、Illustratorで読み込み時にエラーになっていたのを修正。
    対応記号:[&]アンパサンド、[<]小なり、[>]大なり。
  • Ver.2(2015/11/9)
    IllustratorサンプルファイルをCCから下位バージョン保存したCS6、CS4、CS、v10を追加。
    生成されるxmlの改行コードを、LFからCRLFに変更。
  • Ver.1(2015/11/7)
    公開

使用条件
  • Windows専用
  • xlsmファイルなので、Excel2007以降で使用できると思います。
  • VBAで作っているので、マクロを有効にしてください。
    ※動作確認はIllustrator CC、CS6のみ。

使用方法
  1. エクセルを開いて、「リスト」シートにデータを作る
    下記にしたがってリストを書き換えます。
    1行目は変数名、B1より右側を任意で書き換える。
    A列はデータセット名、A2より下を任意で書き換える。
    ※書き換える文字は、特に制限はありません、英数字、日本語、改行もOK。
    ※行数、列数の制限はないので自由に項目数を増やせる。
  2. 「XML生成」ボタンを押す
    「変数ライブラリ」シートに書き出す予定のテキストが生成されます。
  3. 「ファイルを保存」ボタンを押す
    エクセルファイルと同フォルダ内に「変数ライブラリ.xml」が保存されます。
  4. 保存されたxmlファイルをIllustratorで読み込む
    xmlファイルをIllustratorの変数パネルのオプションから「変数ライブラリの読み込み」をクリックして読み込みます。
シート名を変更しても動作します。
保存されるXMLのファイル名を変えたい場合は、シート名を変更してください。
シート名「変数ライブラリ」→保存されるファイル名「変数ライブラリ.xml」
シート名を「住所録」に変更→保存されるファイル名「住所録.xml」
となります。
※Illustratorファイルの変数名と、エクセルの1行目の項目(サンプルファイルでは「ID」、「名前」、「郵便番号1」などの行)が合っていないと、読み込み時に変数が見つからず、動作がおかしくなります。
※1つの項目で複数行にしたい場合は、エクセルのセル内で改行してください。Alt+Enter。
使用できる記号(確認した記号)
  • [&]アンパサンド
  • [<]小なり
  • [>]大なり
  • ["]ダブルクォーテーション
  • [']シングルクォーテーション
  • [`]アポストロフィー


不具合報告などありましたら、コメントにご報告いただけたら幸いです。


参考にさせていただいたサイト様

17 件のコメント:

  1. The macro in xls looks nice but there is no Predefined entities in XML for character " & ' < >. The variable xml for illustrator needs to be manual modified for faulty entities. I see that only single line is supported. Will there be a paragraph or multiline support in the future?

    返信削除
  2. >Hans Boon

    Thank you for your comment

    Because I do not understand English well, you might understand is wrong.

    In Ver.3, now supports the following symbols.
    [&] Ampersand, [<] less-than sign, [>] Greater-than sign

    [ '] Single quote, [ "] double quotes, [`] apostrophe originally okay.
    Paragraph is a new line in Excel. Alt + Enter.

    Comment if there is I want you to corresponding symbol.

    返信削除
  3. このような便利なものを公開いただきありがとうございます。こちらのデータを編集して使いたいと思っているのですが、そのままの状態でもXML生成ボタンを押すと 'Can't find project or library' と出てきてしまうのですが、何故かわかりますでしょうか。Mac OSX El Capitan OS言語は英語、Excelのバージョンは15.11.2です。もしかしたら日本語をファイル名に使わなければいけるのかも?などと思っているのですがなにせプログラミングの知識がないので…ご教示いただけると幸いです。

    返信削除
    返信
    1. >min mooba さん

      はじめまして、よしおです。
      興味を持っていただいて大変光栄です。
      私もプログラマーではないですし、Macも持っていませんのどれだけ力になれるかわかりませんが、出来ればなんとかしたいと思っています。

      私の環境(Windows7、Excel2010)ではエラーが出ませんので、多分OSがMacか、英語版なのが原因だと思います。
      といいますのも、私が作ったエクセルファイルがWindowsで日本語環境を想定して作っていたからです。

      少しだけ手直ししたエクセルファイルを仮アップしたので、よければ試してもらえますか?
      もしかすると正常に動くかもしれません。
      また、テストファイルでもエラーが出る場合は、お手数ですがエラー番号とメッセージをお知らせくださいませんか?
      原因を追究できるかもしれませんので。

      ○テストファイル
      https://sites.google.com/site/yoshioakz/home/file/illustratorxml_test20160619.zip?attredirects=0&d=1

      よろしくお願いします。

      削除
    2. よしおさん

      わざわざ有り難うございます!こちらの環境でテストして、再度ご連絡させていただきます。少々お待ちくださいませ。

      削除
    3. お待たせしました。こちらの環境で試してみたところ、やはりエラーが出ましたので、どうもMac OSのようです。言語切替ができるので日英両方試してみましたが、どちらも同じ内容でした。下記がエラーメッセージになります。ご確認ください。

      OSX El Capitan
      日本語環境でのエラーメッセージ:

      コンパイル エラーです。:

      プロジェクトまたはライブラリが見つかりません。
      (Module1 43:19)

      英語環境でのエラーメッセージ:

      Compile error:

      Can't find project or library
      (Module1 43:19)

      デバッグはしていただけるとありがたいはありがたいですが、大変な労力になるでしょうし、コピペでとりあえずしのげているので、どうしても必要というわけではございません。少しでもお役に立てば。

      削除
    4. >min mooba さん

      テストしていただき、ありがとうございました。
      min mooba さんのおっしゃるようにMacが原因のようです。

      Windowsで作ったエクセルファイルのMacでのコンパイルエラーを調べてみましたが、VBA(マクロ)はWindowsとMacで書き方に違いが結構あるみたいで、それが原因のように思います。
      解決するにはMacでのデバッグが必要みたいで、Macは持っていませんので残念ながら解決できそうにありません。

      そのうちMacを買う機会があれば、Macでも使えるようにバージョンアップしようかと思います。
      現時点ではWindows専用となりますが、使用する機会がありましたら、使ってやってください。

      今回は力になれなくてすいませんでした。
      また、勉強する機会をいただきありがとうございました。

      削除
  4. このコメントは投稿者によって削除されました。

    返信削除
  5. Googleスプレッドシートでどうだろう?っていうヒントを貰いました。
    調べたら出来そうなので、近いうちに勉強して作ってみようと思います。

    返信削除
  6. 大変参考になり使わせていただいております。
    ご質問なのですが、画像を指定して使いたいのですが、
    作成いただいたファイルでは、xml生成は出来ないのでしょうか?

    詳しいやり方をご教授いただけると幸いです。
    宜しくお願いいたします。

    返信削除
    返信
    1. OGAさん

      ご質問ありがとうございます!
      すみませんが、このページのxml生成では文字列しか扱えないです。
      理由は、今まで特に要望がなかった事と私が使わない機能だったからです。

      要望があれば画像にも対応できると思います。

      やりたい事はリンクした画像をxmlで差し替えたいって事でいいでしょうか?

      削除
  7. よしおさん

    ご連絡ありがとうございます。

    はい。そうです。
    リンクした画像をxmlで差し替えたいです。
    例えば、社員証や名刺などに写真を入れたいと
    考えております。

    もし可能であれば、対応いただけると非常に助かります。

    宜しくお願いいたします。

    返信削除
    返信
    1. OGAさん

      わかりました。
      それじゃリンク画像に対応しますね。
      2~3日お待ちくださいね。

      削除
    2. よしおさん

      ありがとうございます。
      大変感謝いたします。

      お手数をお掛けいたします。
      宜しくお願いいたします。

      削除
    3. OGAさん

      お待たせしました。
      ページ上部のダウンロードのところにVer.4(テスト版)を追加しました。
      テスト版なのは、動作確認をあまりしていない事と、サンプルファイルがこのページの記事と違うのが理由です。
      普通に使えると思うので使ってみてください。

      「リスト」シートの1行目が種類の選択、2行目がタイトル行、3行目以降がデータとなります。
      また、社員証のサンプルデータも入れているので参考にしてください。

      削除
  8. よしおさん

    早急にご対応いただき、誠にありがとうございます。

    早速、利用させていただきます。
    不明な点が御座いましたら、ご連絡差し上げます。

    お忙しい所ご対応いただき、大変感謝しております。
    ありがとうございました!

    返信削除
    返信
    1. OGAさん

      お役に立てましたなら幸いです。
      また要望などあったら言ってくださいね。
      できる限り対応したいと思ってますので。

      自分だけで使っていると何が不便なのかとかよくわかりませんので、よければ使用した感想などもいただけると嬉しいです。

      ではでは

      削除