こんにちは!CorelDRAW VBAの世界へようこそ。
私はこれまで数々のデザイン現場の自動化システムを構築してきましたが、そのすべての始まりは「たった1行のマクロを書くこと」でした。
「マクロの記録」ボタンを押して図形を動かすだけの世界から、自分の手でコードを書き、CorelDRAWのエンジンを直接コントロールする世界へ——。ここをクリアすれば、あなたの作業効率は文字通り何倍にも跳ね上がります。
今回は、CorelDRAW VBAの第一歩として、VBE(Visual Basic Editor)の扉を開き、最初のエントリーポイント(Subプロシージャ)を動かすまでの全手順を、プロの視点を交えながら丁寧に解説していきましょう。
—
1. 開発の舞台裏へ:VBE(Visual Basic Editor)を開く
CorelDRAWには、VBAのコードを記述・実行するための専用の開発環境「VBE」が内蔵されています。まずはこの隠された(?)舞台裏へアクセスしましょう。
手順1:ショートカットキーで一発起動
CorelDRAWを起動したら、キーボードの `Alt` + `F11` を押してください。
一瞬で、見慣れないグレーのウィンドウが立ち上がったはずです。これがVBAの心臓部、VBEです。
(※もし起動しない場合は、メニューバーの「ツール」>「マクロ」>「Visual Basic エディター」を選択してください)
手順2:コードを書くための「キャンバス(標準モジュール)」を用意する
VBEが開いたら、次はコードを書き込むための「ノート」のようなものを用意します。
1. VBEのメニューバーから 「挿入」>「標準モジュール」 をクリックします。
2. 画面に白い新しいウィンドウ(これが「標準モジュール」です)が現れましたね。
ここにこれから魔法の呪文(コード)を書き込んでいくことになります。
—
2. 知っておくべき「セキュリティの関所」
コードを書く前に、最も重要なトラップについてお話ししておきます。
CorelDRAWはデフォルトの状態では、セキュリティ保護のためにマクロの実行を厳しく制限しています。これを解除しておかないと、「コードを書いたのに動かない!」 という初心者ギブアップの罠にハマります。
セキュリティ設定の確認手順
1. CorelDRAWに戻り、メニューバーの 「ツール」>「マクロ」>「マクロのセキュリティ」 を開きます。
2. セキュリティレベルを 「中」 または 「すべてのマクロを有効にする(推奨されませんが開発中は便利です)」 に設定します。
- 「中」にしておくと、マクロを含むファイルを開くときに「有効にしますか?」と聞いてくれるようになるため、安全かつスムーズです。
—
3. 最初のエントリーポイントを作る
プログラミングの世界では、プログラムが最初に実行される場所(入口)をエントリーポイントと呼びます。VBAでは、それが `Sub` プロシージャになります。
以下のコードを、先ほど開いた「標準モジュール」の白い画面にそのままコピー&ペーストしてみてください。
‘ ==============================================================================
‘ テーマ: 初めてのCorelDRAW VBAエントリーポイント
‘ 概要: アクティブなドキュメントの有無をチェックし、挨拶メッセージを表示する
‘ ==============================================================================
Sub FirstCorelDrawMacro()
‘ 画面描画を一時停止して処理速度を上げる(プロの常套手段です)
EventsEnabled = False
‘ 1. 現在CorelDRAWでドキュメントが開かれているかチェック
If Documents.Count = 0 Then
MsgBox “ドキュメントが開かれていません。新しくドキュメントを作成してください!”, vbExclamation, “エラー”
GoTo CleanUp
End If
‘ 2. アクティブなドキュメントの名称を取得
Dim docName As String
docName = ActiveDocument.Name
‘ 3. ユーザーへ挨拶メッセージを表示
MsgBox “こんにちは!” & vbCrLf & _
“現在作業中のドキュメント名は「 ” & docName & ” 」ですね。” & vbCrLf & _
“CorelDRAW VBAへようこそ!”, vbInformation, “First Macro Success”
CleanUp:
‘ 処理の最後に必ず描画設定を元に戻す
EventsEnabled = True
End Sub
コードの解説:ここがポイント!
- `Sub FirstCorelDrawMacro()`:
これがあなたの作る最初のエントリーポイントです。`Sub` から始まり `End Sub` で終わるひとまとまりの命令の塊を「プロシージャ」と呼びます。
- `Documents.Count = 0`:
CorelDRAWアプリ全体で、今いくつドキュメントが開かれているかを数えています。オブジェクトモデルの基本ですね。
- `ActiveDocument.Name`:
今まさにユーザーが作業している「アクティブなドキュメント」のファイル名を取得する、実務でも頻出のプロパティです。
- `EventsEnabled = False / True`:
これはプロのエンジニアがこっそり使っているテクニックです。マクロ実行中の余計な画面描画やイベントを遮断し、マクロの動作を高速化させます。
—
4. いざ、マクロを実行する!
コードの準備ができたら、いよいよ動かしてみましょう。
1. CorelDRAWで適当な新規ドキュメントを開いておきます。
2. 再びVBEを開き、先ほど書いたコードの中にカーソルを置きます(`Sub` と `End Sub` の間ならどこでもOK)。
3. キーボードの `F5` キーを押すか、上部メニューの 「実行」>「サブ/ユーザーフォームの実行」(再生ボタンのようなアイコン)をクリックします。
どうでしょう?
画面中央に「こんにちは!現在作業中のドキュメント名は…」というポップアップが表示されたはずです!
もし「ドキュメントが開かれていません」と出た場合は、CorelDRAW側で新しくファイル(Ctrl + N)を作ってからもう一度試してみてくださいね。
—
5. 陥りやすいエラーと初心者の落とし穴
初めてVBAを触るとき、誰もが同じような壁にぶつかります。代表的なものを先回りしてクリアしておきましょう。
1. 「コンパイル エラー: 構文エラー」と言われる
- 半角と全角のスペース違い、または `End If` や `End Sub` の消し忘れが原因のほとんどです。コードは必ず半角英数字で入力してください。
2. マクロの保存先を間違える
- 書いたコードは、CorelDRAWのアプリケーション自体(GlobalMacrosなど)に保存されるか、あるいは現在の`.cdr`ファイルに保存されます。自分で書いたコードを他のPCでも使いたい場合は、VBEのプロジェクトエクスプローラーを意識することが大切です。(これについてはまた別の機会に詳しく解説しますね)
—
おわりに:ここから広がる自動化の宇宙
おめでとうございます!これであなたは、ただのCorelDRAWユーザーから、「CorelDRAWを意のままに操る開発者」への第一歩を踏み出しました。
今回書いた `Sub FirstCorelDrawMacro` の中に、図形を一瞬で何百個も生成したり、指定した色を全選択して置き換えたりするコードを組み込んでいくことで、あなたのデザイン作業は劇的に変わっていきます。
「ここをクリアすれば、CorelDRAW VBAの基本はバッチリですよ」。
次は、いよいよ図形(矩形や円)をコードから自由自在に描画する方法について解説していきましょう。お楽しみに!
