📄 testtypelib.java
字号:
import jp.ne.so_net.ga2.no_ji.jcom.*;
public class testTypeLib {
public static String getProgID(IUnknown unknown) {
try {
IPersist persist = (IPersist)unknown.queryInterface(IPersist.class, IPersist.IID);
if(persist==null) return null;
GUID clsid = persist.getClassID();
return Com.getProgIDFromCLSID(clsid);
}
catch(JComException e) { e.printStackTrace(); }
return null;
}
/**
巜掕偟偨ProgID偺僞僀僾儔僀僽儔儕傪尒傞
*/
public static void main(String[] args) throws Exception {
if(args.length!=1) {
System.out.println("usage: testTypeLib <ProgID>");
System.out.println("椺 testTypeLib Excel.Application");
return;
}
String progID = args[0];
ReleaseManager rm = new ReleaseManager();
try {
IDispatch disp = new IDispatch(rm, progID);
ITypeInfo typeinfo = disp.getTypeInfo();
ITypeLib typelib = typeinfo.getTypeLib();
// 僪僉儏儊儞僩傪昞帵
String[] docs = typelib.getDocumentation(-1);
System.out.println("docs[0]="+docs[0]);
System.out.println("docs[1]="+docs[1]);
System.out.println("docs[2]="+docs[2]);
System.out.println("docs[3]="+docs[3]);
// TLIBATTR傪昞帵
ITypeLib.TLibAttr attr = typelib.getTLibAttr();
System.out.println("TLIBATTR="+attr);
// ITypeInfo偺悢
int infocount = typelib.getTypeInfoCount();
System.out.println("ITypeInfo偺悢="+infocount);
if(true) {
for(int i=0; i<infocount; i++) {
ITypeInfo info = typelib.getTypeInfo(i);
docs = info.getDocumentation(-1);
// System.out.print("ProgID="+getProgID(info));
System.out.println(docs[0]);
}
}
}
catch(Exception e) { e.printStackTrace(); }
finally { rm.release(); }
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -