他のアプリケーションとの相互運用性

 
 
 

Autodesk Softimage SDK を使用して作成されるスクリプトおよびプログラムは、ActiveX に対応している他のプログラムとの間で相互に通信することができます。 これは、無限の可能性を意味します。 たとえば、電子メールの送信、スプレッドシート間でのデータの読み込みおよび書き出し、その他 ActiveX 対応プログラムで可能なことはすべて実行できます。

サポートされているメソッドおよびプロパティに関する情報を取得する

他の ActiveX 対応プログラムのオブジェクト クラスが対応しているメソッドおよびプロパティの詳細については、各プログラムのマニュアルを参照してください。 なお、マニュアルが利用できない場合でも、Microsoft Visual Basic のオブジェクト ブラウザ、または OLE/COM Object Viewer を使用できます。

Visual Basic オブジェクト ブラウザの使用

Visual Basic に付属するオブジェクト ブラウザを使用して、コンピュータにインストールされている ActiveX 対応クラスがサポートしているプロパティおよびメソッドを確認できます。

Visual Basic のオブジェクト ブラウザは、任意のクラス セット(Softimage オブジェクト モデルなど)の階層をビジュアル キューとして表示します。これにより、そのクラス メンバの使用方法が容易に理解できるようになります。 ライブラリに関する情報(継承情報など)が記述されているライブラリ ファイル(*.tlb)に Visual Basic がアクセスできる限り、任意の Autodesk Softimage SDK ライブラリをオブジェクト ブラウザにロードできます。

Softimage タイプ ライブラリを VB オブジェクト ブラウザにロードするには

  1. Visual Basic環境で、[プロジェクト]メニューから[参照設定](References)を選択します。

    [参照設定]ウィンドウが表示されます。

  2. [参照](Browse)ボタンをクリックします。

    [ファイルの参照]ウィンドウが表示されます。

  3. 参照するライブラリ(たとえば、si3dobjectmodel.tlb には、アクセスする必要がある大半のネイティブの Softimage オブジェクトが含まれています)を選択し、[開く](Open)をクリックします。

    [参照設定]ウィンドウが再度表示され、選択したライブラリが[参照可能なライブラリ ファイル]リスト ボックスにハイライト表示されます。

  4. [OK]をクリックしてから、コード ウィンドウ上で右クリックし、ポップアップ メニューを表示します。

  5. ポップアップ メニューで[オブジェクト ブラウザ](Object Browser)をクリックします。

  6. オブジェクト ブラウザが開き、<すべてのライブラリ>が表示されます。

  7. 左上のドロップダウン コンボ ボックスで、[SI3DOBJECTMODELLIB](またはブラウザでインストールした Softimage ライブラリ)を選択します。

    これで、オブジェクト ブラウザを使用して、インストールした Softimage タイプ ライブラリ内をナビゲートできます。

OLE/COM Object Viewer を使用する

OLE/COM Object Viewer は Windows のツールで、コンピュータにインストールされている ActiveX 対応クラスと、そのクラスがサポートしているメソッドおよびプロパティを確認できます。 このツールは、www.microsoft.com/com/resources/oleview.asp からダウンロードできます。

例: 電子メールを送信する

次の VBScript コードを使用すると、Microsoft Outlook を使用して電子メールを送信できます。 このコードを別のプロシージャに組み込んで、たとえばレンダリング処理が終了したらユーザ自身にメッセージを送信するようにすることもできます。

sub msg( dst, subj, body )
	dim a, b, olMailitem
	set a = createobject( "outlook.application" )
	set b = a.createitem( olMailitem )
	b.to = dst
	b.subject = subj
	b.body = body
	b.send()
end sub
msg "jdoe@acme_inc.com","Your render","has finished."