< 戻る 【 General 】
JavaScriptマクロでは、java.lang.System クラスを用いて、
ログインユーザ名を取得する事ができます。
参考サイト
SE学院 / Java / システムプロパティ
//Login User Name(1)
importClass(Packages.java.lang.System);
importClass(Packages.javax.swing.JOptionPane);
try{
prop = System.getProperty("user.name");
oDisp = prop
}catch(e){
//Error Handling
errorname = e.name;
errormsg = e.message;
oDisp= errorname + "\n" + errormsg;
}finally{
JOptionPane.showMessageDialog(null, oDisp);
System.gc();
}
一方、Javaクラスではなく、
com.sun.star.util.PathSubstitutionサービス
を利用する方法は以下です。
//Login User Name(2)
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.lang.System);
importClass(Packages.com.sun.star.uno.UnoRuntime);
importClass(Packages.com.sun.star.util.PathSubstitution);
importClass(Packages.com.sun.star.util.XStringSubstitution);
try{
ctx = XSCRIPTCONTEXT.getComponentContext();
// create an UNO service object
smgr = ctx.getServiceManager();
sdh = smgr.createInstanceWithContext("com.sun.star.util.PathSubstitution", ctx);
xUnoSrv = UnoRuntime.queryInterface(XStringSubstitution, sdh);
oUserUrl = xUnoSrv.substituteVariables("$(username)", true);
oDisp = oUserUrl;
}catch(e){
//Error Handling
errorname = e.name;
errormsg = e.message;
oDisp= errorname + "\n" + errormsg;
}finally{
JOptionPane.showMessageDialog(null, oDisp);
sdh = null
xUnoSrv = null
System.gc();
}