jp.ne.so_net.ga2.no_ji.jcom
クラス IDispatch

java.lang.Object
  |
  +--jp.ne.so_net.ga2.no_ji.jcom.IUnknown
        |
        +--jp.ne.so_net.ga2.no_ji.jcom.IDispatch
直系の既知のサブクラス:
ExcelApplication, ExcelFont, ExcelRange, ExcelWorkbook, ExcelWorkbooks, ExcelWorksheet, ExcelWorksheets

public class IDispatch
extends IUnknown

IDispatchインターフェースを扱うためのクラス

関連項目:
IUnknown, JComException, ReleaseManager

フィールドの概要
static GUID IID
          IID_IDispatch です。
static int METHOD
           
static int PROPERTYGET
           
static int PROPERTYPUT
           
static int PROPERTYPUTREF
           
 
クラス jp.ne.so_net.ga2.no_ji.jcom.IUnknown から継承したフィールド
pIUnknown, rm
 
コンストラクタの概要
IDispatch(IDispatch disp)
          IDispatchを作成します。
IDispatch(ReleaseManager rm, int pIDispatch)
          IDispatchを作成します。
IDispatch(ReleaseManager rm, java.lang.String ProgID)
          IDispatchを作成します。
 
メソッドの概要
 void create(java.lang.String ProgID)
          ProgIDからIDispatchインターフェースを作成します。
 java.lang.Object get(java.lang.String property)
          プロパティの値を取得します。
 java.lang.Object get(java.lang.String property, java.lang.Object[] args)
          プロパティの値を取得します。
 ITypeInfo getTypeInfo()
          ITypeInfoを取得します。
 java.lang.Object invoke(java.lang.String name, int wFlags, java.lang.Object[] pDispParams)
          メソッド、プロパティの設定・取得を行います。
 java.lang.Object invoke(java.lang.String method, java.lang.Object[] args)
          推奨されていません。 method(String,Object[])に置き換わりました。
 java.lang.Object method(java.lang.String method, java.lang.Object[] args)
          メソッドを呼び出します。
 void put(java.lang.String property, java.lang.Object val)
          プロパティに値を設定します。
 
クラス jp.ne.so_net.ga2.no_ji.jcom.IUnknown から継承したメソッド
addRef, getReleaseManager, queryInterface, release, toString
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

IID

public static GUID IID
IID_IDispatch です。
関連項目:
GUID

METHOD

public static final int METHOD

PROPERTYGET

public static final int PROPERTYGET

PROPERTYPUT

public static final int PROPERTYPUT

PROPERTYPUTREF

public static final int PROPERTYPUTREF
コンストラクタの詳細

IDispatch

public IDispatch(ReleaseManager rm,
                 java.lang.String ProgID)
          throws JComException
IDispatchを作成します。 引数で指定されたProgIDのCOMオブジェクトを作成します。
        ReleaseManager rm = new ReleaseManager();
        try {
            IDispatch excel = new IDispatch(rm ,"Excel.Application");
            excel.put("Visible", new Boolean(true));  // 'デフォルトはFalse(表示しない)
            // ...
            excel.invoke("Quit", null);
        } catch(JComException e) {
            e.printStackTrace();
        } finally {
            rm.release();
        }
パラメータ:
rm - 参照カウンタ管理クラス
ProgID - プログラムID。Excelの場合"Excel.Application"と指定します。
関連項目:
create(String), ReleaseManager

IDispatch

public IDispatch(ReleaseManager rm,
                 int pIDispatch)
IDispatchを作成します。 引数で指定されたIDispatchポインタのCOMを作成します。 通常、別のCOMのメソッドから返されたIDispatchポインタに対して、 使用します。
パラメータ:
rm - 参照カウンタ管理クラス
pIDispatch - IDispatchインターフェースのアドレス
関連項目:
create(String), ReleaseManager

IDispatch

public IDispatch(IDispatch disp)
IDispatchを作成します。 引数で指定されたIDispatchと同一のCOMを管理します。 通常、別のCOMオブジェクトのメソッドで返されたIDispatchに対して、 使用します。 ReleaseManagerは、引数dispの持つ同じものが継承されます。
関連項目:
create(String)
メソッドの詳細

create

public void create(java.lang.String ProgID)
            throws JComException
ProgIDからIDispatchインターフェースを作成します。 すでに作成されていた場合、例外を発生させます。
パラメータ:
ProgID - COMのプログラムID
例外:
JComException -
"Already COM allocated" すでにCOMが割り当てられている。
"createInstance() failed HRESULT=0x%XL" COMの作成に失敗した。

get

public java.lang.Object get(java.lang.String property)
                     throws JComException
プロパティの値を取得します。 プロパティの型とJavaの型との対応は以下の通りです。
   VT_EMPTY    null
   VT_I4       Integer
   VT_R8       Double
   VT_BOOL     Boolean
   VT_BSTR     String
   VT_DATE     Date
   VT_CY       VariantCurrency
   VT_DISPATCH IDispatch
   VT_UNKNOWN  IUnknown
 
IDispatch xlBooks = (IDispatch)xlApp.get("Workbooks");
Boolean visible = xlApp.gut("Visible");
パラメータ:
property - プロパティ名
戻り値:
取得された値
例外:
JComException -
"IDispatch not created" IDispatchが作成されていない。
"getProperty() failed HRESULT=0x%XL" COMの呼び出しに失敗した。
"cannot convert VT=0x%X" 未対応のVARIANT型が返された。
関連項目:
get(String,Object[]), invoke(String,Object[]), put(String,Object)

get

public java.lang.Object get(java.lang.String property,
                            java.lang.Object[] args)
                     throws JComException
プロパティの値を取得します。プロパティの値の取得に引数が必要な場合に使用します。 プロパティの型とJavaの型との対応はIDispatch.get(property)を参照してください。 引数の渡し方はIDispatch.invoke()を参照してください。
パラメータ:
property - プロパティ名
args - 引数の配列
戻り値:
取得された値
例外:
JComException -
"IDispatch not created" IDispatchが作成されていない。
"Invalid argument(index=%d)" 引数が不正。もしくは未対応の型が渡された。
"getPropertyArg() failed HRESULT=0x%XL" COMの呼び出しに失敗した。
"cannot convert VT=0x%X" 未対応のVARIANT型が返された。
関連項目:
get(String), invoke(String,Object[]), put(String,Object)

put

public void put(java.lang.String property,
                java.lang.Object val)
         throws JComException
プロパティに値を設定します。 プロパティの型とJavaの型との対応はIDispatch.get(property)を参照してください。
xlApp.put("Visible", new Boolean(true));
xlRange.put("Value","JComすごいぞ!(^o^)");
パラメータ:
property - プロパティ名
val - 設定する値
例外:
JComException -
"IDispatch not created" IDispatchが作成されていない。
"Invalid argument" 引数が不正。もしくは未対応の型が渡された。
"putProperty() failed HRESULT=0x%XL" COMの呼び出しに失敗した。
関連項目:
get(String), get(String,Object[]), invoke(String,Object[])

method

public java.lang.Object method(java.lang.String method,
                               java.lang.Object[] args)
                        throws JComException
メソッドを呼び出します。 プロパティの型とJavaの型との対応はJCom.get(property)を参照してください。
Object[] arglist = new Object[3];
arglist[0] = new Boolean(false);
arglist[1] = null;
arglist[2] = new Boolean(false);
xlBook.method("Close", arglist);
 
パラメータ:
method - メソッド名
args - 引数
例外:
JComException -
"IDispatch not created" IDispatchが作成されていない。
"Invalid argument(index=%d)" 引数が不正。もしくは未対応の型が渡された。
"invokeMethod() failed HRESULT=0x%XL" COMの呼び出しに失敗した。
"cannot convert VT=0x%X" 未対応のVARIANT型が返された。
関連項目:
get(String), get(String,Object[]), put(String,Object)

invoke

public java.lang.Object invoke(java.lang.String method,
                               java.lang.Object[] args)
                        throws JComException
推奨されていません。 method(String,Object[])に置き換わりました。

method()を参照してください。
関連項目:
method(String,Object[])

invoke

public java.lang.Object invoke(java.lang.String name,
                               int wFlags,
                               java.lang.Object[] pDispParams)
                        throws JComException
メソッド、プロパティの設定・取得を行います。 プロパティの型とJavaの型との対応はJCom.get(property)を参照してください。
Object[] arglist = new Object[3];
arglist[0] = new Boolean(false);
arglist[1] = null;
arglist[2] = new Boolean(false);
xlBook.invoke("Close", IDispatch.METHOD, arglist);
パラメータ:
method - メソッド名
args - 引数
例外:
JComException -
"IDispatch not created" IDispatchが作成されていない。
"Invalid argument(index=%d)" 引数が不正。もしくは未対応の型が渡された。
"invokeMethod() failed HRESULT=0x%XL" COMの呼び出しに失敗した。
"cannot convert VT=0x%X" 未対応のVARIANT型が返された。
関連項目:
get(String), get(String,Object[]), put(String,Object), method(String,Object[])

getTypeInfo

public ITypeInfo getTypeInfo()
                      throws JComException
ITypeInfoを取得します。