Home > Illustlation > グラフィックツール > Corel Draw > CorelDrawの公式マクロ文書の和訳 > CorelDRAW開発者エリアにようこそ > プログラミング・ガイド > 3 - 自動化を理解する > 3.2 - どのオートメーション環境が、サポートされていますか?

3.2 - どのオートメーション環境が、サポートされていますか?

新規作成日 2019-12-29
最終更新日

CorelDRAWでマクロを利用するためのドキュメント「3.2 - Which automation environments are supported?」の和訳です。


CorelDRAW versions 6 - 9の場合、作業を自動化する唯一の方法は、Corel SCRIPT言語を使用することでした。ソリューション開発者は、Corel SCRIPTを使用して、図形の描画、図形の再配置と大きさの変更、文書の開閉、CorelDRAW内のスタイルの設定のためのインテリジェントなミニ・アプリケーションを作成しました。

Corel SCRIPT言語は、基本的な作業を自動化するために有効でしたが、より柔軟で強力なソリューションが、必要になりました。version 10では、CorelDRAWは、舞台裏の自動化を処理したMicrosoft Visual Basic for Applications (VBA)エンジンのサポートにより強化されました。VBAの追加により、世界中の数百万のVBAやMicrosoft Visual Basic(VB)開発者がCorelDRAWにすぐにアクセスできるようになりました。それ以来、VBAは、CorelDRAWソフトウェア・スイートのあらゆるバージョンによってサポートされています。

ソフトウェア・スイートは、VBAの後継であるMicrosoft Visual Studio Tools for Applications(VSTA)もサポートしています。

JavaScriptのサポートは、バージョン2019で、スイートに追加されました。

JavaScriptは、WindowsとmacOSで、CorelDRAWとCorel PHOTO-PAINTでサポートされています。

VBAとVSTAは、Corel DESIGNERとCorelDRAWとCorel PHOTO-PAINTのWindows版でサポートされています。

Corel PHOTO-PAINTのWindows版では、あなたは、マクロを作成するために、VBAやVSTAを使用して、あるいは、スクリプトを作成するために、Corel SCRIPTを使用して、作業を自動化できます。あなたが、(Corel SCRIPTを使用して)作業を実行するために必要なステップを記録する必要がある場合、スクリプトは、より良い選択ですが、マクロは、あなたが、(VBAやVSTAを使用して)作業を実行するために必要なコードを記述したい場合、より良い選択です。Corel PHOTO-PAINTで、Corel SCRIPTを使用する情報については、Corel PHOTO-PAINTの主要なヘルプファイルの「Corelスクリプト」を参照してください。(ヘルプ>製品ヘルプ)。

JavaScript、VBA、VSTAをサポートすることで、ソフトウェア・スイートは、次のプラットフォームを提供します。:

  • 強力な企業向けグラフィカル・ソリューションの開発-たとえば、自動チケットジェネレータ、カスタマイズされたカレンダー、バッチファイル・プロセッサ。
  • 仕事の流れの合理化-例えば、高速なページレイアウト・メカニズム。
  • デフォルトのソフトウェア機能のカスタマイズ-例えば、オブジェクトの作成、整列、変換。
  • ...などなど!

VBAとVSTAは、コンテキスト・ポップアップ・リスト、構文の強調表示、行ごとのデバッグとビジュアル・デザイナー・ウィンドウを持つ、それぞれ独自の完全に統合された開発環境(IDE)を提供します。これらの機能は、経験の浅い開発者にとって特に役立ちます。

JavaScript、VBA、VSTAの詳細については、以下のトピックを参照してください。:

JavaScriptとは、何ですか?

What is JavaScript?

JavaScript(JS)は、オブジェクト指向、および、関数型プログラミング・スタイルをサポートしている、動的なプロトタイプ・ベースのスクリプト言語です。Webページのためのスクリプト言語として人気があります。JavaScriptは、CorelDRAW Graphics SuiteとCorelDRAW Technical Suiteのような、反復的な作業を自動化するために、ブラウザ以外の環境で使用することもできます。

ソフトウェアは、ブラウザに関連したコンポーネントを除いて、ECMAScript 6、JavaScriptの更新、その全てのオブジェクト、ライブラリと関数をサポートしています。使用しているJavaScriptの詳細については、「JavaScript(JS)スクリプトで作業する」を参照してください。

VBAとは、何ですか?

What is VBA?

Microsoft Visual Basic for Applications (VBA)は、反復的な機能を自動化するために使用することができる、組み込みのプログラミング環境です。そして、それをサポートするソフトウェアで、知的なソリューションを作成します。VBAは、Microsoft Visual Basic(VB)オブジェクト駆動プログラミング環境のサブセットです。通常、VBAは、別のアプリケーションに統合され、そのアプリケーション内の機能をカスタマイズします。

VBAは、言語とエディターの両方です。VBA言語は、そのエディタなしでは、使用することはできません。そして、VBAエディタは、VBAコードを編集できる唯一のユーティリティです。あるいは、VBAプログラムは、実行することができます。

VBA言語は、イベント駆動型のプログラミング言語です。言い換えると、ボタンをクリックする、あるいは、オプションをリスト・ボックスから選択するような、動作への応答を生成コードを記述するために使用されます。動作が、発生するとき、適切なイベントが、呼び出され、そのイベントのためのコードが、実行されます。イベントは、単純でも複雑でもかまいません。たとえば、あなたは、データベースと対話し、メッセージ・ボックスを表示する、あるいは、手順全体を書き込む、1つの行をコード化することができます。

従来の手続き型プログラミング(または「オブジェクト駆動型プログラミング」)では、プログラムは、最初の行から始まり、一度に、1行ずつ実行されます。VBは、オブジェクト駆動型プログラミング環境の例を提供します。

この文書で提供されるほとんどのコードの例は、VBAで書き込まれます。

Corel DESIGNER、CorelDRAWとCorel PHOTO-PAINTの"Scripts Editor"(以前は、"Visual Basic Editor")と呼ばれるVBAエディタは、あなたが、アプリケーションのオブジェクト・モデルによって、公開されているオブジェクトを操作できる統合開発環境(IDE)です。マクロのコーディングを支援するために、Macro Editorは、あなたが利用できる、すべてのオブジェクトモデル要素のために、内容に従ったヘルプを提供します。

VBAは、プロセス内のオートメーション・コントローラです。言い換えると、VBAを使用して、自動化することができる、ソフトウェア機能を制御できます。そして、VBAは、プロセス間の同期メカニズムを回避することによって、効率的に、実行します。しかしながら、プロセス内のVBAが、アクセスできる自動化は、次の方法でもアクセスできます。

  • プロセスの範囲外の外部のオートメーション・コントローラ(OLEクライアント)
  • OLEクライアントを開発するために使用できる、(VB、Visual C++、Windows Script Host、C++など)プログラミング言語で開発されたアプリケーション。
  • 他のアプリケーションのVBAエンジン

VBAは、ソフトウェアのグラフィカル・ユーザ・インタフェースをカスタマイズするためのツールセットを提供します。これらのツールを使用すると、データを効率的かつ効果的に処理および表示できます。VBAを使用する利点は、次のとおりです。:

  • VB言語の習熟
  • 高速アプリケーション開発(RAD)IDE
  • 結果として得られる統合ソリューションの高速実行時のパフォーマンス
  • ユーザー・インターフェイスを作成するためのActiveXコントロールをサポートする拡張可能なフォーム・パッケージ。
  • 完全なWindowsアプリケーション・プログラミング・インターフェース(API)と基盤となるファイル・システムへのアクセス
  • 企業データへの接続
  • コンポーネント・オブジェクト・モデル(COM)に基づいて、他のソフトウェアと統合します。

VBAは、あなたが、あなたのニーズを満たすために、アプリケーションをカスタマイズしたり、他のVBA使用可能アプリケーションと統合することができます。2つ目のアプリケーションのオブジェクトモデルのコンポーネントを参照することによって、VBAは、Microsoftによって開発されましたが、そして、(Microsoft Officeを含む)、ほとんど、すべてのデスクトップ・アプリケーションに組み込まれています。Microsoftは、(Corel Corporation、AutoCADのAutodesk、Inc.、IntelliCADのIntelliCAD Technology Consortiumを含む)この技術を他社にライセンス供与しています。VBAをサポートするソフトウェア製品は、通常、相互に制御するために使用できます。そして、それらは、VBAをサポートしていない、いくつかのソフトウェア製品の制御にも使用できます。従って、あなたは、多種多様な他のソフトウェア製品にアクセスする、Corel DESIGNER、CorelDRAWとCorel PHOTO-PAINTで、ソリューションを構築するために、VBAを使用することができます。:データベース、ワード・プロセッサ、XMLエディタなど、

VBAをサポートするアプリケーションの完全なリストについては、Microsoft Webサイトを参照してください。

VBAは、VBやVBScriptとどう違うのですか?

How does VBA differ from VB and VBScript?

VBプログラミング・システムは、Windows OSと他のWindowsに基づいたプログラムのために、高度な機能とコンポーネントを提供する、先進のプログラミングツールのセットです。たとえば、VBAやVBScriptとは異なり、VBは、あなたに、アプリケーション拡張機能(DLLファイル)とスタンドアロン実行可能プログラム(EXEファイル)を作成させます。(あなたが、VBAで作成するプログラムは、ホスト・アプリケーション内で実行する必要があります。)

VBは、BASICプログラミング言語の"visual"バージョンです。つまり、それは、エディタ内でビジュアル・キューを提供します。その結果、VBは、学習しやすい言語です。加えて、Microsoftは、元のBASIC言語を大幅に強化しました。そのため、VBは、強力かつ高速です。(JavaやC ++ほど強力ではありませんが、Cほど高速でもありません)。

VBAは、VBプログラミング言語のサブセットです。そして、VBのプログラミング構造を使用して、アプリケーションによって公開される、オブジェクト・モデル要素を操作します。これらのオブジェクトを操作すると、アプリケーション内でコード・プロシージャの小さなパケットが生成されます。これらのコードの手順と結果として生じるプロジェクトは、"add-ins"と呼ばれます。

VBScript(Microsoft Visual Basic、Scripting Editionと呼ばれることもあります)は、VBプログラミング言語のサブセットでもあります。VBScriptは、WebベースのHTML文書スクリプト言語です。

VBAは、JavaScriptとどう違うのですか?

How does VBA differ from JavaScript?

VBAは、高レベルであるという点で、JavaScriptと似ています。メモリ・ポインターをほとんどサポートしない手続き型プログラミング言語。(詳細については、メモリの割り当てを参照してください。)加えて、VBAで開発されるコードは、JavaScriptで開発されたコードのように、オンデマンドの編集をサポートします。そして、コンパイルすることなく実行できます。

VBAは、スタンドアロン・アプリケーションとして実行できないという点でもJavaScriptに似ています。JavaScriptは、メイン・アプリケーションの文書オブジェクト・モデル(DOM)を操作するためのスイートに組み込まれています。同様に、VBAプログラムは、ホストのオブジェクト・モデルを操作するために、(Corel DESIGNER、CorelDRAWやCorel PHOTO-PAINTのような)ホスト環境内で実行されます。

最後に、VBAが、比較と割当てのために一つの等号 ( = )を使用するのに対して、JavaScriptは、割り当てに1つの等号(=)を使用し、ブール比較に2つの等号(==)を使用します。(詳細については、ブール比較と割当てを使用するを参照してください。)

VBAは、CやC++とどう違うのですか?

How does VBA differ from C and C++?

VBAは、メモリを透過的に割り当て、解放します。CとC++では、しかしながら、開発者は、ほとんどのメモリ管理に責任を持ちます。その結果、VBAで文字列を使用する方が、C ++でCStringクラスを使用するよりも簡単です。

最後に、VBAが、比較と割当てのために一つの等号 ( = )を使用するのに対して、CとC++は、割当てのために一つの等号 ( = )、そして、ブール比較のために2つの等号(==)を使用します。(詳細については、ブール比較と割当てを使用するを参照してください。)

VBAは、WSHとどう違うのですか?

How does VBA differ from WSH?

Windows Script Host(WSH)は、プロセスの範囲外のオートメーション・コントローラです。それは、あなたが、時々、Windows作業のスクリプトとオートメーションを行うことができます。そして、ソフトウェアの制御に使用できます。WSHは、Windows OSへの便利な追加機能ですが、WSHスクリプトは、プロセスを実行する必要があるため、遅い傾向があります。そして、それらは、コンパイルすることができません。(そして、実行時に、コンパイルする必要があります)。

WSHは、それぞれが、独自の構文を持ついくつかのスクリプト言語のためのホストです。しかしながら、WSHが使用する標準言語は、VBに似ているマクロ言語であるため、標準スクリプトの構文は、VBAと同じです。

VSTAとは、何ですか?

What is VSTA?

VBAの後継のMicrosoft Visual Studio Tools for Applications(VSTA)は、Microsoft Visual Studio 2017に基づいています。Corel DESIGNER、CorelDRAWとCorel PHOTO-PAINTで、VSTA機能は、.NET frameworkをサポートして、2つのプログラミング言語で開発できます。:Visual Basic .NETとVisual C#。

この文書で提供されるほとんどのコードの例は、VBAで記述されています。

Corel DESIGNER、CorelDRAWとCorel PHOTO-PAINTのVSTA Editorは、ソフトウェアのために、VSTAソリューションを作成する統合開発環境(IDE)です。

Corel DESIGNER、CorelDRAWとCorel PHOTO-PAINTで、VSTAマクロ機能を使用するために、あなたは、Microsoft Visual Studio 2017、Professional、Ultimate、あるいは、Premiumが、インストールされている必要があります。

CorelDRAW Graphics SuiteやCorelDRAW Technical Suiteをインストールした後、あなたが、Microsoft Visual Studioをインストールする場合、あなたは、あなたのCorelDRAW Graphics SuiteやCorelDRAW Technical Suiteのインストールを変更することによって、VSTAマクロ機能を再インストールする必要があります。

VSTAは、VBAと比較してどうですか?

How does VSTA compare with VBA?

VSTAとVBAの両方は、強力なマクロ・ソリューションを作成することができます。VSTAで、あなたは、IDEとしてVSTA Editorを使用します。そして、あなたは、プログラミング言語として、Visual Basic .NET、あるいは、Visual C#を使用します。VBAで、あなたは、IDEとしてMacro Editorを使用します。そして、あなたは、プログラミング言語としてVBAを使用します。

あなたが、次のタスクのいずれかを実行する場合、あなたは、VSTAやVBAを使用することができます。:

  • ソフトウェアの機能をカスタマイズ、あるいは、拡張する
  • Visual Basic 6を使用する他のアプリケーションと、あるいは、ソフトウェアの外部にある他の互換性のあるコンポーネントと対話する
  • Webベースのサービスと対話する
  • アドインで、IDEをカスタマイズする
  • 必要に応じて、マルチスレッド・サポートで、マクロ・プロジェクトを作成する
  • プログラムから、マクロ・プロジェクトにアクセスする
  • マクロ・コードを動的に生成する
  • 事前に、コンパイルされた形式でマクロ・コードを保存する
  • マクロ・コードを他のマクロ作成者から隠す
  • マクロ・プロジェクトのデバッグ
  • マクロ・プロジェクトのために、カスタマイズされたユーザー・インターフェイスを作成します。

しかしながら、あなたが、次のタスクのいずれかを実行する場合、あなたは、VSTAを使用する必要があります。:

  • IDEを完全にカスタマイズする
  • Visual Studioでマクロ・プロジェクトを開いて、変更する
  • マクロ・プロジェクトをDLLアセンブリにコンパイルする
  • マクロ・プロジェクトを互いに分離します。;実行中の他のプロジェクトに影響を及ぼすことなく、マクロ・プロジェクトを個別に実行する、そして、実行中に、それらを停止します。
  • マネージコード内のマクロを作成する
このエントリーをはてなブックマークに追加