Home > Illustlation > グラフィックツール > Corel Draw > CorelDrawの公式マクロ文書の和訳 > CorelDRAW開発者エリアにようこそ > プログラミング・ガイド > 4 - マクロ入門 > 4.4 - Script Editorを使用する

4.4 - Script Editorを使用する

新規作成日 2020-01-14
最終更新日

CorelDRAWでマクロを利用するためのドキュメント「4.4 - Using the Script Editor」の和訳です。


Corel DESIGNER、CorelDRAW、およびCorel PHOTO-PAINTは、VBAマクロ・プロジェクトを作成するための統合開発環境(IDE)を提供しています。Script Editorと呼ばれるこのIDEは、Visual Basicのフルバージョンに含まれているものに似ています。あなたは、以下のような、VBAマクロに関連したいろいろな作業を実行するために、Script Editorを使用することができます。:

  • VBAマクロ・プロジェクトの内容に目を通す
  • VBAマクロ・コードを開発し、デバッグする
  • VBAマクロのオブジェクト・プロパティの設定
  • VBAマクロ用のダイアログ・ボックスや「フォーム」を作成する

あなたは、JavaScript(JS)スクリプトを編集するために、Script Editorを使用することができません。あなたが、JSファイルを編集したい場合、あなたは、Notepadや他のテキスト・エディタを使用する必要があります。

あなたは、実行できる(EXE)プログラム・ファイルをコンパイルするために、Script Editorを使用することができません。

Script Editoには、3つの主要な領域があります。:

Script Editorも、4つの主なツールバーを特徴としています:

  • 標準ツールバー-デフォルトのツールバーです
  • デバッグ・ツールバー-一般的なデバッグ作業のためのボタンが含まれています
  • 編集ツールバー-一般的なコード編集作業のためのボタンが含まれています
  • UserFormツールバー-ダイアログ・ボックスを設計するための、特定のボタンが含まれています

これらのツールバーの詳細については、「Script Editorツールバーを使用する」を参照してください。

Script Editor(示されているのは、CorelDRAWバージョン)は、以下を特徴とします:

  • プロジェクト・エクスプローラ
  • Codeウィンドウ
  • プロパティ・ウィンドウ
  • 標準ツールバー
  • デバッグ・ツールバー
  • 編集ツールバー
  • ユーザーフォーム・ツールバー

Script Editorは、あなたが、それぞれの参照されるコンポーネントとホスト・アプリケーションのオブジェクト・モデル全体を表示する、オブジェクト・ブラウザにもアクセスできます。詳細については、「オブジェクト・ブラウザを使用する」を参照してください。

Script Editorは、ホスト・アプリケーションとは別のウィンドウで開きますが、それは、そのアプリケーションのプロセス内で実行されます。Script Editorを表示するには、次のいずれかを実行します。:

  • アプリケーションのメイン・メニュー上で、ツール > スクリプト > スクリプト・エディタをクリックします。
  • マクロ・ツールバー上で、スクリプト・エディタ・ボタンをクリックします。
  • スクリプト・ドッキング・ウィンドウ内のVisual Basic for Applicationsを右クリックします。続いて、「IDEを表示」をクリックします。
  • Alt + F11を押します。

スクリプト・エディタとアプリケーションの間で切り替えるために、Windowsタスクバーを使用するか、Alt + F11、あるいは、Alt + Tabを押します。

プロジェクト・エクスプローラを使用する

Using the Project Explorer

プロジェクト・エクスプローラは、マクロ・プロジェクトとそれらの内容を移動するために、不可欠です:文書とオブジェクト、フォーム、モジュールとクラス・モジュール(あるいは、"クラス")。

それぞれのプロジェクト・エクスプローラのコンポーネントの種類は、それに割り当てられるアイコンを持っています。:

コンポーネントの種類に割り当てられるアイコン
アイコン アイテム
マクロ・プロジェクト
フォルダ
文書やオブジェクト
文書やオブジェクト(CorelDRAW)
文書やオブジェクト(Corel PHOTO-PAINT)
フォーム
モジュール
クラス・モジュール(あるいは、"クラス")
  • 「プロジェクト・エクスプローラを表示」をクリックします。
  • 標準ツールバー上で、プロジェクト・エクスプローラ・ボタンをクリックします。
  • Ctrl + Rを押します。

Codeウィンドウを使用する

Using the Code window

Codeウィンドウは、マクロで作業するとき、あなたが、ほとんどの時間を過ごす場所です。Microsoft Visual Studioのスタイルのスタンダード・コード・エディタのCodeウィンドウは、あなたが、以下のことができます。:

  • コードを自動的にフォーマットする
  • 自動的に構文に色をつけます
  • 自動的に構文を確認します
  • 定義へ移動します
  • コンテキスト・ポップアップ・リストと自動補間を使用します

あなたが、既にMicrosoft Visual Studioエディターのいずれかに慣れている場合、Codeウィンドウは、あなたに、完全に馴染みのあるものです。

Codeウィンドウを表示するために、以下のいずれかを実行します。:

  • 「コードを表示する」をクリックします。
  • F7を押します。

自動的にコードをフォーマットする

自動的にコードをフォーマットする

スクリプト・エディタは、あなたのために、自動的にコードをフォーマットします。キーワード、関数、サブルーチン、および変数の大文字でも、入力内容に関係なく、スクリプトエディターによって処理されます。コードをカスタムフォーマットすることはできませんが、それぞれの行に、インデントを設定したり、カスタム改行を配置したりできます。

関数を呼び出すときに戻り値を使用する場合、パラメーターを囲む括弧は必須です(ほとんどの近代的なプログラミング言語と同様)。:

a = fooFunc (b, c)

しかしながら、関数呼び出しから、返された値が、すでに破棄されている場合、あるいは、サブルーチンを呼び出す場合、括弧は省略する必要があります(他のほとんどの言語とは異なります)。:

barFunc d, e
Call fooBarSub (f) 

自動的に構文に色をつける

Coloring syntax automatically

あなたが、Codeウィンドウでコードを開発すると、スクリプト・エディタは、分類に従って、それぞれの単語に色をつけます。

単語の色と分類
単語の色 分類
オートメーション・キーワードまたはプログラミング・ステートメント
コメント
他の全てのテキスト

Codeウィンドウでは、次の色付け手法も使用されます。:

Codeウィンドウでの色分け
Codeウィンドウ 分類
赤いテキスト エラーが含まれているコード行
青色背景の白いテキスト 選択されたテキスト
黄色で強調表示されたテキスト デバッグのために実行が一時停止される行
赤い背景に白いテキスト、左マージンに赤い点 デバッグのために設定されたブレークポイント(マクロのデバッグを参照)
左マージンの青い点 左マージンの青い点

構文の色付けと強調表示:

あなたが、アプリケーションを終了したとき、ブレークポイントとブックマークが失われます。

スクリプト・エディタは、あなたが、構文を強調表示するために、デフォルトの色を変更できます。[ツールオプション]をクリックし、[エディターの形式]ページで設定を選択します。

自動的に構文を確認する

Checking syntax automatically

あなたが、コード行からカーソルを移動するたびに、スクリプト・エディタは、その行のコードの構文を確認します。;エラーが見つかる場合、行は、赤で表示され、そして、ポップアップ警告が、表示されます。あなたが、コードを実行することなく、コードの可能な限り多くのエラーを示すため、このリアルタイム検証は、便利です(特にマクロのプログラミングを学習している場合)。

スクリプト・エディタは、あなたが、ポップアップ警告を無効できます。ツール・オプションをクリックします。エディタ・タブをクリックします。続いて、[自動構文チェック]のチェックボックスを無効にします。スクリプト・エディタは、まだ構文を確認し、エラーのある行を赤で表示しますが、あなたが、別のコード行から、テキストを貼り付けると、警告の表示が停止します。

定義へ移動する

Jumping to definitions

スクリプト・エディタは、あなたが、変数、関数、オブジェクトの定義に、直接移動できます。

  
変数、関数、オブジェクトの定義に移動する
目的の定義 手順 移動先
変数 Codeウィンドウで、変数を右クリックし、[定義]をクリックします。 コードの変数の定義
関数 Codeウィンドウで、関数を右クリックし、[定義]をクリックします。 コードの関数の定義
オブジェクト Codeウィンドウで、オブジェクトを右クリックし、[定義]をクリックします。 オブジェクト・ブラウザのオブジェクトの定義

あなたが、定義をリクエストした場所に戻るために、Codeウィンドウのどこかを右クリックします。続いて、最後の位置をクリックします。

自動補完のためのコンテキスト・ポップアップ・リストの使用する

Using contextual pop-up lists for automatic completion

スクリプト・エディタは、あなたが記述する関数と、すべての組み込みのキーワードと列挙値が含まれているあなたが内部のリストに定義する変数を、追加します。あなたは、入力しながら、スクリプト・エディタは、現在の位置に挿入するための有効な候補の単語のコンテキスト・リストを表示します。この自動補完機能は、コード開発を迅速かつ便利にします。

自動補完のポップアップ・リスト:

あなたが、使用したい単語の最初の数文字を入力すると、ポップアップ・リストは、最も近い候補へ進みます。それは、それらの文字と一致します。目的の単語を選択し、続いて、以下のいずれかを実行します。:

  • 単語の後に続く文字を入力します(通常は、空白、改行、括弧、ピリオド、コンマ)。
  • Tab、あるいは、Ctrl + Enterを押して単語のみを入力します。

ポップアップ・メニューを強制的に表示するために、Ctrl +スペース・バーを押します。;メニューは、あなたが、これまでに入力した文字に最も近い単語にスクロールします。この技術は、関数やサブルーチンを呼び出すとき、パラメーター・リストの入力に特に役立ちます。完全一致が1つしかない場合、スクリプト・エディタは、リストをポップアップすることなく、単語を挿入します;選択したキーワードのポップアップ・リストを、自動補完なしで、いつでも表示するには、Ctrl + Jを押します。

プロパティ・ウィンドウを使用する

Using the Properties window

プロパティ・ウィンドウには、選択したオブジェクトの編集可能なすべてのプロパティが一覧表示されます。プロジェクト、モジュール、フォームとそれらのコントロールを含む多くのマクロ・オブジェクトは、変更可能なプロパティ・シートを持っています。

フォームのプロパティが表示されたプロパティ・ウィンドウ:

あなたが、オブジェクトを選択するとき、あるいは、あなたが、他のメソッドを使用して、選択したオブジェクトのプロパティを変更するとき、プロパティ・ウィンドウは、自動的に更新されます。(たとえば、フォーム・コントロールを移動、および、大きさを変更するために、マウスを使用することで)。

プロパティ・ウィンドウを表示、あるいは、非表示にするために、以下のいずれかを行います。:

  • ビュー > プロパティ・ウィンドウをクリックします。
  • 標準ツールバー上で、プロパティ・ウィンドウ・ボタンをクリックします。
  • F4を押します。

スクリプト・エディタ・ツールバーを使用する

Using Script Editor Toolbar

スクリプト・エディタには、あなたが、マクロに関連した作業を実行するために使用できる、4つのツールバーがあります。標準、デバッグ、編集、ユーザーフォーム

標準ツールバーは、デフォルトのツールバーです。

デバッグ・ツールバーには、一般的なデバッグ作業のためのボタンが含まれています。(「マクロをデバッグする」を参照)。

編集ツールバーには、一般的なコード編集作業のためのボタンが含まれています。

ユーザーフォーム・ツールバーには、ダイアログ・ボックスを設計するために、特別なボタンが含まれています。(「ダイアログ・ボックスの設計」を参照)。

ツールバーを表示、あるいは、非表示にするために、「ツールバーを表示」をクリックします。続いて、対応するコマンドをクリックします。コマンドの横にあるチェック・マークは、そのツールバーが、現在表示されていることを示します。

あなたは、それをメニューバーからドラッグして、ツールバーを「浮かせる」ことができます。

あなたは、ツールバーをメニューバーにドラッグすることでドッキングできます。

オブジェクト・ブラウザを使用する

Using the Object Browser

オブジェクト・ブラウザは、スクリプト・エディタで提供される、最も役に立つツールの1つです。使いやすい、体系化された形式で、オブジェクト・ブラウザは、それぞれの参照されるコンポーネント、そして、最も重要なことに、Corel DESIGNER、CorelDRAWとCorel PHOTO-PAINTの全てのオブジェクト・モデルを表示します。

参照されるコンポーネントは、プロジェクトによって使用される、すべてのActiveXやObject Linking and Embedding (OLE)オブジェクトが含まれています。

オブジェクト・ブラウザ・ウインドウには、次の項目があります。:

プロジェクト/ライブラリ・リスト・ボックス-すべての参照されるコンポーネント(プロジェクトとライブラリ)の一覧を示します。プロジェクトやライブラリのためのアイテムだけを表示するために、プロジェクトやライブラリをこのリストから選択するオブジェクト・ブラウザを更新します。通常、一度に1つのプロジェクトだけ、あるいは、ライブラリだけを表示すると、オブジェクト・ブラウザが使いやすくなります。

  • ナビゲーション・ボタン-あなたが、オブジェクト・ブラウザから、あなたの選択を通して、循環できます。
  • 「クリップボードにコピー」ボタン-現在の選択をクリップボードにコピーします。
  • 「定義の表示」ボタン-Codeウィンドウに、現在の選択が、どこで定義されるかを表示します。
  • 「ヘルプ」ボタン-現在の選択に関する「ヘルプ」トピックを表示します。あなたは、F1を押してこの「ヘルプ」トピックにアクセスすることもできます。
  • 検索コントロール-あなたに、選択したプロジェクトやライブラリで特定の文字列を検索できます。詳細については、「検索コントロールを使用する」を参照してください。
  • 検索結果ウィンドウ-検索の結果を表示します。詳細については、「検索コントロールを使用する」を参照してください。
  • Classリスト-選択されたプロジェクトやライブラリのクラス関連のアイテムをすべて表示します。詳細については、「Classリストを使用する」を参照してください。
  • メンバリスト-選択したクラスのメンバーを表示します。詳細については、「メンバリストを使用する」を参照してください。
  • 情報ウィンドウ-選択したクラスやクラス・メンバーに関する情報を表示します。詳細については、「情報ウィンドウを使用する」を参照してください。

オブジェクト・ブラウザ・ウインドウ(Corel PHOTO-PAINTバージョンを表示):

スクリプト・エディタ内からオブジェクト・ブラウザを開くために、以下のいずれかを行います。:

  • 「オブジェクト・ブラウザを表示」をクリックします。
  • 標準ツールバー上で、オブジェクト・ブラウザ・ボタンをクリックします。
  • F2を押します。

他のアプリケーションのオブジェクト・モデルを参照するために、「ツール・リファレンス」をクリックします。参照されるコンポーネントは、マクロ・コードで、アクセスすることができます。

クラス・リストを使用する

Using the Class list

すべてのプロジェクトとライブラリは、Classリストで表示される、次のクラスに関連したアイテムを含むオブジェクト・モデルを持っています。

  • グローバル値
  • クラス
  • モジュール
  • 列挙体

グローバル値は、プロジェクトやライブラリ全体に適用されます。そして、それらは、列挙体から、それぞれのメンバーが含まれています。(テキストと段落の配置、シェイプタイプ、インポート/エクスポートフィルターのような)。

クラスには、プロパティ、メソッドとイベントが含まれています。詳細については、「クラスとは、何?」を参照してください。

CorelDRAWやCorel PHOTO-PAINTで利用できるすべてのクラスの文書については、「APIリファレンス|クラス」セクションを参照してください。

モジュールには、マクロ・コードが含まれています。

CorelDRAWで利用できるすべてのモジュールの文書については、「APIリファレンス|モジュール」セクションを参照してください。

型は、オートメーション環境によって、提供される組み込みデータ型を補完するカスタマイズされたデータ型です(「変数の宣言」を参照)。

CorelDRAWで利用できるすべての型の文書については、「APIリファレンス|型」セクションを参照してください。

列挙体は、マクロのためのコーディングの手順と関数で、固定値を表します。詳細については、「列挙体とは、何?」を参照してください。

CorelDRAWやCorel PHOTO-PAINTで利用できるすべての列挙体の文書については、「APIリファレンス|列挙体」セクションを参照してください。

Classリストの型のそれぞれの項目は、それに割り当てられたアイコンを持っています。:

Classリストの型に割り当てられたアイコン
アイコン 項目
グローバル値
クラス
モジュール
列挙体

選択した項目のための「ヘルプ」トピックにアクセスするには、「ヘルプ」ボタンをクリックするか、F1を押します。

メンバリストを使用する

Using the Member list

あなたが、項目をClassリストから選択するとき、その項目のメンバーが、メンバーリストに表示されます。クラス・メンバーには、以下のものが含まれています。:

  • プロパティ
  • メソッド
  • イベント
  • 定数

プロパティは、(Boolean、integerや文字列のような)単純型やClassリストからのクラスや列挙体になることができます。Classリストのクラスに基づいたプロパティは、そのクラスのすべてのメンバーを継承します。

多くのクラスは、デフォルトのプロパティを持っています。親のオブジェクトの値を取得する、あるいは、設定するとき、プロパティ名が指定されていない場合、デフォルトのプロパティが、暗示されます。たとえば、コレクション型は、インディックスを作成できるデフォルトのプロパティItemを持っています。;このような場合には、それは、Itemプロパティを指定する必要はありません。

ここで、

ActiveSelection.Shapes.Item(1).Selected = False

は、短いものと同じです。

ActiveSelection.Shapes(1).Selected = False

Itemが、shapesコレクションのデフォルト、あるいは、暗示されたプロパティであるため、

CorelDRAWやCorel PHOTO-PAINTで利用できるすべてのプロパティの文書については、「APIリファレンス|プロパティ」セクションを参照してください。

メソッドは、一般に、「メンバ関数」として知られています。-クラスが、それ自体で実行できる関数。良い例は、[x、y]ベクトルを使用することにより、shapeを移動する、CorelDRAWのShapeクラスのMoveメソッドです。次のコードは、選択したシェイプを2測定単位右に移動し、3測定単位を上に移動します。:

ActiveSelection.Move 2, 3

関数の戻り値が使用されていない場合、Callキーワードが使用されない限り、関数呼び出しは、引数リストを括弧で囲みません。

CorelDRAWやCorel PHOTO-PAINTで利用できるすべてのメソッドの文書については、「APIリファレンス|メソッド」セクションを参照してください。

イベントは、いくつかのクラスに関連付けられています。そのイベントが、アプリケーションで発生するとき、あなたは、呼び出されるイベント・ハンドラを設定することができます。;この機能により、あなたは、アプリケーション内で起きていることに自動的に応答する洗練されたアプリケーションを開発できます。一般的に処理されるイベントには、Corel DESIGNERおよびCorelDRAWのDocumentクラスのBeforePrint、BeforeSave、PageActivate、SelectionChange、ShapeMoveイベントが含まれています。

CorelDRAWやCorel PHOTO-PAINTで利用できるすべてのイベントの文書については、「APIリファレンス|イベント」セクションを参照してください。

メンバリストで表示される定数は、列挙体のメンバーであるか、モジュールでパブリックとして定義されています。列挙体は、閉じたリストから関連したアイテムをグループ化します-Corel DESIGNERとCorelDRAW shape型、インポート/エクスポートのフィルタとアライメントのような、-どこかで使用するために、整数値は必須です。

Corel DESIGNER、CorelDRAW、およびCorel PHOTO-PAINTでは、多くの定数がcdr(cdrEPSやcdrLeftAlignmentなど)で始まりますが、他の定数はclr、cui、pdf、pnt、またはprnで始まります。Visual Basicには、キーストローク用のもの(vbKeyEnterなど)やダイアログボックスボタン用のもの(vbOKなど)など、独自の定数もあります。

CorelDRAWやCorel PHOTO-PAINTで利用できるすべての定数の文書については、「APIリファレンス|定数」セクションを参照してください。

メンバリストの型のそれぞれの項目は、それに割り当てられたアイコンを持っています。:

メンバリストの型に割り当てられたアイコン
アイコン 項目
プロパティ
デフォルト
プロパティ
メソッド
イベント
定数

選択した項目のための「ヘルプ」トピックにアクセスするには、「ヘルプ」ボタンをクリックするか、F1を押します。

情報ウィンドウを使用する

Using the Information window

情報ウィンドウは、選択されたクラスやクラス・メンバーに関する情報を提供します。この情報は、次のものを含みます:

  • 項目のプロトタイプ
  • 項目が読取り専用プロパティであるかどうかの表示
  • 項目の親
  • 項目の短い説明

Corel PHOTO-PAINTのDocument.Applicationプロパティのための情報ウィンドウ:

情報ウィンドウは、すべての参照されている型とクラスへのハイパーリンクを提供します。現在のオブジェクトモデル内で定義されます。たとえば、Corel PHOTO-PAINTのDocument.Applicationプロパティの情報:(前の図を参照)次のハイパーリンクが、含まれています:

  • Application-Applicationが、Document.Applicationプロパティの型とPHOTOPAINTライブラリのクラスであるため、Applicationクラスにアクセスします。
  • PHOTOPAINT-Corel PHOTO-PAINTオブジェクト・モデル内のすべてのクラスに含まれている、PHOTOPAINTライブラリのクラスにアクセスします。
  • Document-Applicationプロパティの親のDocumentクラスにアクセスします。

Informationウィンドウが、完全にコンテンツを表示するほど高さがない場合、スクロール・バーが、提供されます。

Informationウィンドウの高さを増やすために、ウィンドウの上部の境界線を上にドラッグします。

検索コントロールを使用する

Using the search controls

検索コントロールを使用すると、選択したプロジェクトやライブラリで特定の文字列を検索できます。あなたが、クラスやクラス・メンバーの名前を部分的にしか覚えていない場合、あるいは、あなたが、("open"という単語を含んでいるような)類似した名前を持っている、クラスとメンバーを見つけたいとき、検索は、役に立ちます。

CorelDRAWオブジェクトモデルの検索

選択したオブジェクト・モデルのクラスとメンバーを検索するために、Searchボックスに文字列を入力します。続いて、Searchボタンをクリックします。検索結果ウィンドウは、すべての一致が、アルファベット順に表示されます。一致をクリックすると、ClassリストとMemberリストがそのアイテムに移動し、そのアイテムの情報ウィンドウが表示されます。

クラス名と一致することは、検索結果ウィンドウで空白のMember列を持っています。

検索結果ウィンドウを非表示にするには、「検索結果を非表示」ボタンをクリックします。

このエントリーをはてなブックマークに追加