Macroの基
Msgbox
Data
[ Date ]
[ Time ]
[ Number ]
[ String ]
[ 正規表現 ]
Function
Object
I/O( File )
[ File操作 ]
[ File情報 ]
<< 取得・確認 >>
<< 設定 >>
[ Drive ]
[ Stream ]
Thead
Utility
Swing
[ Frame ]
[ Listener ]
NetWork
Rhino定義関数
XMLHttpRequest()
Mouse
ScriptEngine
Tips
RhinoからOpenOffice.org起動(外部起動)
file操作
Sheet操作
Cell操作
Address
HyperLink
Style
Graph Chart作成
file関係
file操作
文書入力
Style
file操作
Page操作
図形
Style
Connector
その他
file操作
Page操作
図形
Style
Connector
画面切り替え(SlideShow)
Annimation(SlideShow)
Macroの基
// Hello World in JavaScript importClass(Packages.javax.swing.JOptionPane); JOptionPane.showMessageDialog(null, "Hello World in JavaScript");
//If importClass(Packages.javax.swing.JOptionPane); var oI=2 if(oI != 1){ JOptionPane.showMessageDialog(null, "oI = 1 ではありません"); } else{ JOptionPane.showMessageDialog(null, "oI = " + oI + "です"); }
//for(){ } importClass(Packages.javax.swing.JOptionPane); for(i=0; i<=3; i++){ JOptionPane.showMessageDialog(null, i + "回目です"); }
//while(){} importClass(Packages.javax.swing.JOptionPane); var i = 1 while(i <= 3){ JOptionPane.showMessageDialog(null, i + "回目です"); i = i + 1 }
//Switch(){case default} importClass(Packages.javax.swing.JOptionPane); importPackage(java.util.date); JOptionPane.showMessageDialog(null, "今日の何曜日?"); oToday = new Date(); oWeek = oToday.getDay(); switch(oWeek) { case 0: JOptionPane.showMessageDialog(null, "今日は日曜日です!"); break; case 1: JOptionPane.showMessageDialog(null, "今日は月曜日です!"); break; case 2: JOptionPane.showMessageDialog(null, "今日は火曜日です!"); break; case 3: JOptionPane.showMessageDialog(null, "今日は水曜日です!"); break; case 4: JOptionPane.showMessageDialog(null, "今日は木曜日です!"); break; case 5: JOptionPane.showMessageDialog(null, "今日は金曜日です!"); break; default : JOptionPane.showMessageDialog(null, "今日は土曜日です!");break; }
//Array[] importClass(Packages.javax.swing.JOptionPane); oTimes = new Array(); for(i=0; i<=3; i++){ oTimes[i] = i + "回目です" JOptionPane.showMessageDialog(null, oTimes[i]); }
//Input data of Array[] importClass(java.lang.System); importPackage(java.util); var list = new ArrayList(); list.add("value1"); list.add("value2"); list.add("value3");
//Input data of Array[] importClass(java.lang.System); importPackage(java.util); importClass(Packages.javax.swing.JOptionPane); var list = new ArrayList(); list.add("value1"); list.add("value2"); list.add("value3"); var it = list.iterator(); while(it.hasNext()){ JOptionPane.showMessageDialog(null, it.next()); }
Msgbox
// message box default importClass(Packages.javax.swing.JOptionPane); frame = new Packages.javax.swing.JFrame("frame") frame.setSize(200,200) JOptionPane.showMessageDialog(frame, "Success");
// message box Warning importClass(Packages.javax.swing.JOptionPane); frame = new Packages.javax.swing.JFrame("frame") frame.setSize(200,200) JOptionPane.showMessageDialog(frame, "Success","Title",JOptionPane.WARNING_MESSAGE);
// message box Error importClass(Packages.javax.swing.JOptionPane); frame = new Packages.javax.swing.JFrame("frame") frame.setSize(200,200) JOptionPane.showMessageDialog(frame, "Error","Title",JOptionPane.ERROR_MESSAGE);
// message box Error importClass(Packages.javax.swing.JOptionPane); frame = new Packages.javax.swing.JFrame("frame") frame.setSize(200,200) JOptionPane.showMessageDialog(frame, "No Icon Message","A plain message",JOptionPane.PLAIN_MESSAGE);
// Confirm1 importClass(Packages.javax.swing.JOptionPane); JOptionPane.showOptionDialog(null, "Hello World in JavaScript","test", JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE, null,null,null);
//Custom button importClass(Packages.javax.swing.JOptionPane); frame = new Packages.javax.swing.JFrame("frame") frame.setSize(200,200) options = new Array("Yes, please","No, thanks","No eggs, no ham!"); JOptionPane.showOptionDialog(frame,"Would you like some green eggs to go with that ham?", "Title : A Silly Question", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null,options,options[2]); // // options[2] => Defaultにて選択されているButton
// Confirm2 importClass(Packages.javax.swing.JOptionPane); JOptionPane.showConfirmDialog(null, "Hello World in JavaScript");
// shows message in the message box importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.awt.XWindowPeer); importClass(Packages.com.sun.star.awt.XWindow); importClass(Packages.com.sun.star.awt.XMessageBoxFactory); importClass(Packages.com.sun.star.awt.Rectangle); function showMessage(xDesktop, message) { xFrame = xDesktop.getCurrentFrame(); xWindow = xFrame.getContainerWindow(); xWindowPeer = UnoRuntime.queryInterface(XWindowPeer, xWindow); xToolkit = xWindowPeer.getToolkit(); xMessageboxFactory = UnoRuntime.queryInterface(XMessageBoxFactory, xToolkit); xMessageBox = xMessageboxFactory.createMessageBox(xWindowPeer, new Rectangle(), 'messbox', 1, "", message); return xMessageBox.execute(); } // oDisp = "To Be defined a Function" + "\n" + "for MessageBox"; showMessage(XSCRIPTCONTEXT.getDesktop(), oDisp);
Data
[ Date ]
// Date
importClass(Packages.javax.swing.JOptionPane);
importPackage(java.util.date);
oDateTime = new Date()
oYear = oDateTime.getYear() + 1900
oMonth = oDateTime.getMonth() + 1
oDate = oDateTime.getDate()
oDay = oDateTime.getDay()
switch(oDay){
case 0: oWeek="日"; break;
case 1: oWeek="月"; break;
case 2: oWeek="火"; break;
case 3: oWeek="水"; break;
case 4: oWeek="木"; break;
case 5: oWeek="金"; break;
default : oWeek="土"; break;
}
JOptionPane.showMessageDialog(null, oYear+"年");
JOptionPane.showMessageDialog(null, oMonth+"月");
JOptionPane.showMessageDialog(null, oDate+"日");
JOptionPane.showMessageDialog(null, oWeek+"曜日");
JOptionPane.showMessageDialog(null, "Success");
// setLastModified
importClass(Packages.java.text.SimpleDateFormat);
importClass(Packages.java.util.Calendar);
importPackage(java.util.date);
importClass(Packages.javax.swing.JOptionPane);
//Long type => Date Type
function convertDate(lo){
cal = Calendar.getInstance();
sf = new SimpleDateFormat("yyyy/MM/dd");
return sf.format(cal.getTime());
}
// Time
importClass(Packages.javax.swing.JOptionPane);
importPackage(java.util.date);
oDateTime = new Date()
oHour = oDateTime.getHours()
oMinute = oDateTime.getMinutes()
oSecond = oDateTime.getSeconds()
JOptionPane.showMessageDialog(null, oHour+"時");
JOptionPane.showMessageDialog(null, oMinute+"分");
JOptionPane.showMessageDialog(null, oSecond+"秒");
JOptionPane.showMessageDialog(null, "Success");
[ Number ]
// Number
importClass(Packages.javax.swing.JOptionPane);
var oNum = 12345.67890123456789
oInt = Integer(oNum)
JOptionPane.showMessageDialog(null, oInt+" <= [ Integer ]");
JOptionPane.showMessageDialog(null, "Success");
// Number
importClass(Packages.javax.swing.JOptionPane);
var oNum = 12345.67890123456789
oDbl = Double(oNum)
JOptionPane.showMessageDialog(null, oDbl+" <= [ Double ]");
JOptionPane.showMessageDialog(null, "Success");
// Array()
importClass(Packages.javax.swing.JOptionPane);
jArr = new Array(200,500,600)
// jArr[0] = 300 // <= OK
JOptionPane.showMessageDialog(null, jArr[0]);
JOptionPane.showMessageDialog(null, "Success");
//length
importClass(Packages.javax.swing.JOptionPane);
jArr = new Array(200,500,600)
jNum = jArr.length
JOptionPane.showMessageDialog(null, jArr+" の配列要素数は => "+jNum);
JOptionPane.showMessageDialog(null, "Success");
//push()
importClass(Packages.javax.swing.JOptionPane);
jArr = new Array(200,500,600)
old = jArr.toString()
jArr.push(100)
JOptionPane.showMessageDialog(null, old + " => "+ jArr);
JOptionPane.showMessageDialog(null, "Success");
//pop()
importClass(Packages.javax.swing.JOptionPane);
jArr = new Array("black","red","yellow","green","white")
old = jArr.toString()
jArr.pop()
JOptionPane.showMessageDialog(null, old + "\n" + " => "+ jArr);
JOptionPane.showMessageDialog(null, "Success");
//sort()
importClass(Packages.javax.swing.JOptionPane);
function sortFunc(n1,n2){
return n1-n2;
}
jArr = new Array(60,40,50,30,100,20,70);
old = jArr.toString();
jArr.sort(sortFunc);
JOptionPane.showMessageDialog(null, old + "\n" + " => " + "\n" + jArr);
JOptionPane.showMessageDialog(null, "Success");
//reverse()
importClass(Packages.javax.swing.JOptionPane);
jArr = new Array(60,40,50,30,100,20,70);
old = jArr.toString();
jArr.reverse();
JOptionPane.showMessageDialog(null, old + "\n" + " => " + "\n" + jArr);
JOptionPane.showMessageDialog(null, "Success");
//shift()
importClass(Packages.javax.swing.JOptionPane);
jArr = new Array("gold","silver","black","white");
old = jArr.toString();
jArr.shift();
JOptionPane.showMessageDialog(null, old + "\n" + " => " + "\n" + jArr);
//unshift()
importClass(Packages.javax.swing.JOptionPane);
jArr = new Array("gold","silver","black","white");
old = jArr.toString();
jArr.unshift("add");
JOptionPane.showMessageDialog(null, old + "\n" + " => " + "\n" + jArr);
// PAI
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.PI;
JOptionPane.showMessageDialog(null, oNum);
// Trigonometric function
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.cos(0);
JOptionPane.showMessageDialog(null, oNum);
// Trigonometric function
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum1 = java.lang.Math.acos(0);
var oNum = oNum1*180/oPI
JOptionPane.showMessageDialog(null, oNum+"°");
// Surplus
importClass(Packages.javax.swing.JOptionPane);
var oNum = 5%3
JOptionPane.showMessageDialog(null, oNum);
// Integer
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = parseInt(oPI)
JOptionPane.showMessageDialog(null, oNum);
// Float
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = parseFloat(oPI)
JOptionPane.showMessageDialog(null, oNum);
// eval
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = eval(oPI/2)
JOptionPane.showMessageDialog(null, oNum);
// Not to be Number
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = parseInt(oPI)
oStr = "test"
oN = isNaN(oNum)
oS = isNaN(oStr)
JOptionPane.showMessageDialog(null, oNum+ "は数値で無い? => "+oN+" : "+oStr+"は数値で無い?=> "+oS);
// Finite
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = parseInt(oPI)
var oNum2 = 1/0
oF1 = isFinite(oNum)
oF2 = isFinite(oNum2)
JOptionPane.showMessageDialog(null, oNum+ "は有限? => "+oF1+" : "+oNum2+"は有限?=> "+oF2);
// abs
importClass(Packages.javax.swing.JOptionPane);
var oNum1 = -100
var oNum2 = java.lang.Math.abs(oNum1)
oF1 = isFinite(oNum)
oF2 = isFinite(oNum2)
JOptionPane.showMessageDialog(null, oNum1+ "の絶対値は => "+oNum2);
// ceil
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = java.lang.Math.ceil(oPI)
JOptionPane.showMessageDialog(null, oPI+ "の切上げ値は => "+oNum);
// floor
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = java.lang.Math.floor(oPI)
JOptionPane.showMessageDialog(null, oPI+ "の切下げ値は => "+oNum);
// round
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum = java.lang.Math.round(oPI)
JOptionPane.showMessageDialog(null, oPI+ "の四捨五入値は => "+oNum);
// log
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.log(5*2)
JOptionPane.showMessageDialog(null, "e^(5*2) = "+oNum);
// exp
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.exp(5*2)
JOptionPane.showMessageDialog(null, "exp(5*2) = "+oNum);
// max
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.max(1,2)
JOptionPane.showMessageDialog(null, "max(1,2) = "+oNum);
// min
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.min(1,2)
JOptionPane.showMessageDialog(null, "max(1,2) = "+oNum);
// pow
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.pow(2,5)
JOptionPane.showMessageDialog(null, "2^5 = "+oNum);
// squrt
importClass(Packages.javax.swing.JOptionPane);
var oNum = java.lang.Math.sqrt(3*3*3)
JOptionPane.showMessageDialog(null, "sqrt(3*3*3) = "+oNum);
// random()
importClass(Packages.javax.swing.JOptionPane);
var oNum1 = java.lang.Math.random()
JOptionPane.showMessageDialog(null, "1回目の乱数 => "+oNum1);
var oNum2 = java.lang.Math.random()
JOptionPane.showMessageDialog(null, "2回目の乱数 => "+oNum2);
// toExponential
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum1 = oPI * 100
var oNum2 = oNum1.toExponential(3)
JOptionPane.showMessageDialog(null, oNum2);
// toFixed
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum1 = oPI * 100
var oNum2 = oNum1.toFixed(1)
JOptionPane.showMessageDialog(null, oNum2);
// toPrecision
importClass(Packages.javax.swing.JOptionPane);
var oPI = java.lang.Math.PI
var oNum1 = oPI * 100
var oNum2 = oNum1.toPrecision(2)
JOptionPane.showMessageDialog(null, oNum2);
[ String ]
// charAt()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABSDEFG";
oTC = jString.charAt(0);
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬"
oTC = jString.charAt(2);
JOptionPane.showMessageDialog(null, oTC);
// concat("")
importClass(Packages.javax.swing.JOptionPane);
jString = "ABSDEFG";
oTC = jString.concat("を繋ぎました。");
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬"
oTC = jString.concat("を繋ぎました。");
JOptionPane.showMessageDialog(null, oTC);
// equals("")
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfG";
oTC = jString.equals("BC");
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬"
oTC = jString.equals("坂本龍馬");
JOptionPane.showMessageDialog(null, oTC);
// replace("","")
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfG";
oTC = jString.replace("B","zz");
JOptionPane.showMessageDialog(null, oTC);
// jString = "坂本龍馬";
// oTC = jString.equals("龍","竜"); <= Not To Be Used
// indexOf("")
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfG";
oTC = jString.indexOf("dE");
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬";
oTC = jString.indexOf("本");
JOptionPane.showMessageDialog(null, oTC);
// lastIndexOf("")
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.lastIndexOf("A");
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬日本";
oTC = jString.lastIndexOf("本");
JOptionPane.showMessageDialog(null, oTC);
// substring()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.substring(4);
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬日本";
oTC = jString.substring(4);
JOptionPane.showMessageDialog(null, oTC);
// substring(開始位置,終了位置)
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.substring(2,5); // substring(開始位置,終了位置)
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬日本";
oTC = jString.substring(2,4);
JOptionPane.showMessageDialog(null, oTC);
// slice(開始位置,終了位置)
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.slice(2,5);
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬日本";
oTC = jString.slice(2,4);
JOptionPane.showMessageDialog(null, oTC);
// substr(開始位置,文字数)
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.substr(2,2); // substring(開始位置,終了位置+1)
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬日本";
oTC = jString.substr(2,2);
JOptionPane.showMessageDialog(null, oTC);
// toLowerCase()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.toLowerCase();
JOptionPane.showMessageDialog(null, oTC);
// toUpperCase()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.toUpperCase();
JOptionPane.showMessageDialog(null, oTC);
// toString()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.toString();
JOptionPane.showMessageDialog(null, oTC);
jString = "坂本龍馬";
oTC = jString.toString();
JOptionPane.showMessageDialog(null, oTC);
// charCodeAt()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.charCodeAt(3);
JOptionPane.showMessageDialog(null, jString.charAt(3)+" => "+oTC);
oTC = jString.charCodeAt(1);
JOptionPane.showMessageDialog(null, jString.charAt(1)+" => "+oTC);
jString = "坂本龍馬";
oTC = jString.charCodeAt(0);
JOptionPane.showMessageDialog(null, jString.charAt(0)+" => "+oTC);
oTC = jString.charCodeAt(2);
JOptionPane.showMessageDialog(null, jString.charAt(2)+" => "+oTC);
// fromCharCode
importClass(Packages.javax.swing.JOptionPane);
jCode = 65;
oTC = String.fromCharCode(jCode);
JOptionPane.showMessageDialog(null, jCode+" => "+oTC);
jCode = 22338;
oTC = String.fromCharCode(jCode);
JOptionPane.showMessageDialog(null, jCode+" => "+oTC);
// escape() / encodeURI()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = escape(jString);
JOptionPane.showMessageDialog(null, jString+" => "+oTC);
oTC = encodeURI(jString);
JOptionPane.showMessageDialog(null, jString+" => "+oTC);
jString = "坂本龍馬";
oTC = escape(jString);
JOptionPane.showMessageDialog(null, jString+" => "+oTC);
oTC = encodeURI(jString);
JOptionPane.showMessageDialog(null, jString+" => "+oTC);
// Encode using Java Class
importClass(Packages.java.io.UnsupportedEncodingException);
importClass(Packages.java.net.URLEncoder);
importClass(Packages.javax.swing.JOptionPane);
//
param = "あいうえおかきくけこ";
try{
oCode = URLEncoder.encode(param,"UTF-8");
oDisp = param + "\n" + " => " + "\n" + oCode;
JOptionPane.showMessageDialog(null, oDisp);
} catch(UnsupportedEncodingException) {
// 例外処理
JOptionPane.showMessageDialog(null, "文字CodeがSupportされていません");
}
// unescape()
importClass(Packages.javax.swing.JOptionPane);
jString = "%u5742%u672C%u9F8D%u99AC";
oTC = unescape(jString);
JOptionPane.showMessageDialog(null, jString+" => "+oTC);
// oTC = decodeURI(jString);
// JOptionPane.showMessageDialog(null, jString+" => "+oTC);
jString = "%E5%9D%E6%9C%AC%E9%AC%E9%BE%8D%E9%A6%AC";
oTC = unescape(jString);
JOptionPane.showMessageDialog(null, jString+" => "+oTC);
// oTC = decodeURI(jString);
// JOptionPane.showMessageDialog(null, jString+" => "+oTC);
// Decode using Java Class
importClass(Packages.java.io.UnsupportedEncodingException);
importClass(Packages.java.net.URLEncoder);
importClass(Packages.java.net.URLDecoder);
importClass(Packages.javax.swing.JOptionPane);
//
param = "あいうえおかきくけこ";
try{
oEnCode = URLEncoder.encode(param,"UTF-8");
oDeCode = URLDecoder.decode(oEnCode,"UTF-8");
oDisp = param + "\n" + " => " + "\n" + oEnCode;
oDisp = oDisp + "\n" + " => " + "\n" + oDeCode;
JOptionPane.showMessageDialog(null, oDisp);
} catch(UnsupportedEncodingException) {
// 例外処理
JOptionPane.showMessageDialog(null, "文字CodeがSupportされていません");
}
// indexOf()
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG坂本龍馬";
oTC = jString.indexOf("d",0)+1;
JOptionPane.showMessageDialog(null, jString+" におけるdの位置は頭から"+oTC+"番目");
jString = "坂本龍馬ABcdEfAG";
oTC = jString.indexOf("龍",0)+1;
JOptionPane.showMessageDialog(null, jString+" における「龍」の位置は頭から"+oTC+"番目");
// match()
importClass(Packages.javax.swing.JOptionPane);
jString = "龍ABcdEfAG坂本龍馬";
oR = new RegExp("龍", "g");
oTC1 = jString.match(oR);
oTC =oTC1.length
JOptionPane.showMessageDialog(null, jString+" 中に「龍」は"+oTC+"個matchしました");
// length
importClass(Packages.javax.swing.JOptionPane);
jString = "ABcdEfAG";
oTC = jString.length;
JOptionPane.showMessageDialog(null, jString+" は "+oTC+" 文字です");
jString = "坂本龍馬";
oTC = jString.length;
JOptionPane.showMessageDialog(null, jString+" は "+oTC+" 文字です");
// Retun
importClass(Packages.javax.swing.JOptionPane);
oDisp = "OpenOffice.org" + "\n" + "Macro using JavaScript";
JOptionPane.showMessageDialog(null, oDisp);
[ 正規表現 ]
//正規表現
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.util.regex.Matcher);
importClass(Packages.java.util.regex.Pattern);
function isCorrectLetterNumber(otarget){
isCorrect = false;
if(otarget != null){
oP = Pattern.compile(".{4,7}"); // <= 4文字以上7文字以内
oM =oP.matcher(otarget);
if (oM.matches()){
isCorrect = true;
}
}
return isCorrect;
}
try{
oStr1 = "12345";
oStr2 = "マクロ";
oCheck1 = isCorrectLetterNumber(oStr1);
oCheck2 = isCorrectLetterNumber(oStr2);
oDisp1 = oStr1 + "は4〜7文字? => " + oCheck1
oDisp2 = oStr2 + "は4〜7文字? => " + oCheck2
JOptionPane.showMessageDialog(null, oDisp1 + "\n" + oDisp2);
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//正規表現
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.util.regex.Matcher);
importClass(Packages.java.util.regex.Pattern);
function isCorrectLetter(otarget){
isCorrect = false;
if(otarget != null){
oP = Pattern.compile("[a-zA-Z0-9]+");
oM =oP.matcher(otarget);
if (oM.matches()){
isCorrect = true;
}
}
return isCorrect;
}
try{
oStr1 = "12345ABCabc";
oStr2 = "マクロ";
oStr3 = "aマbクcロd";
oCheck1 = isCorrectLetter(oStr1);
oCheck2 = isCorrectLetter(oStr2);
oCheck3 = isCorrectLetter(oStr3);
oDisp1 = oStr1 + "は半角文字? => " + oCheck1
oDisp2 = oStr2 + "は半角文字? => " + oCheck2
oDisp3 = oStr3 + "は半角文字? => " + oCheck3
JOptionPane.showMessageDialog(null, oDisp1 + "\n" + oDisp2 + "\n" + oDisp3);
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//正規表現
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.util.regex.Matcher);
importClass(Packages.java.util.regex.Pattern);
function isCorrectLetter(otarget){
isCorrect = false;
if(otarget != null){
oP = Pattern.compile("['\",]+");
oM =oP.matcher(otarget);
if (oM.matches()){
isCorrect = true;
}
}
return isCorrect;
}
try{
oStr1 = "1234";
oStr2 = "'temp";
oStr3 = "\temp";
oCheck1 = isCorrectLetter(oStr1);
oCheck2 = isCorrectLetter(oStr2);
oCheck3 = isCorrectLetter(oStr3);
oDisp1 = oStr1 + "は記号を含む? => " + oCheck1
oDisp2 = oStr2 + "は記号を含む? => " + oCheck2
oDisp3 = oStr3 + "は記号を含む? => " + oCheck3
JOptionPane.showMessageDialog(null, oDisp1 + "\n" + oDisp2 + "\n" + oDisp3);
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//正規表現
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.util.regex.Matcher);
importClass(Packages.java.util.regex.Pattern);
function isCorrectLetter(otarget){
isCorrect = false;
if(otarget != null){
oP = Pattern.compile("[0-9]{3}-[0-9]{4}");
oM =oP.matcher(otarget);
if (oM.matches()){
isCorrect = true;
}
}
return isCorrect;
}
try{
oStr1 = "100-0003";
oStr2 = "100−0003";
oCheck1 = isCorrectLetter(oStr1);
oCheck2 = isCorrectLetter(oStr2);
oDisp1 = oStr1 + "は郵便番号? => " + oCheck1
oDisp2 = oStr2 + "は郵便番号? => " + oCheck2
JOptionPane.showMessageDialog(null, oDisp1 + "\n" + oDisp2);
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//正規表現
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.util.regex.Matcher);
importClass(Packages.java.util.regex.Pattern);
function isCorrectLetter(otarget){
isCorrect = false;
if(otarget != null){
oP = Pattern.compile("\\d{2,4}-\\d{2,4}-\\d{4}"); // <= 定義済文字使用
// oP = Pattern.compile("[0-9]{2,4}-[0-9]{2,4}-[0-9]{4}"); // <= こちらでも良い
oM =oP.matcher(otarget);
if (oM.matches()){
isCorrect = true;
}
}
return isCorrect;
}
try{
oStr1 = "03-6267-4000";
oStr2 = "01234-5-6789";
oCheck1 = isCorrectLetter(oStr1);
oCheck2 = isCorrectLetter(oStr2);
oDisp1 = oStr1 + "は電話番号? => " + oCheck1
oDisp2 = oStr2 + "は電話番号? => " + oCheck2
JOptionPane.showMessageDialog(null, oDisp1 + "\n" + oDisp2);
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//正規表現
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.util.regex.Matcher);
importClass(Packages.java.util.regex.Pattern);
function isCorrectLetter(otarget){
isCorrect = false;
if(otarget != null){
oP = Pattern.compile("[\\w]+@[\\w-][.\\w]+");
oM =oP.matcher(otarget);
if (oM.matches()){
isCorrect = true;
}
}
return isCorrect;
}
try{
oStr1 = "test_@test.co.jp";
oStr2 = "test*@aaa.com";
oCheck1 = isCorrectLetter(oStr1);
oCheck2 = isCorrectLetter(oStr2);
oDisp1 = oStr1 + "は不正文字の使用は無い? => " + oCheck1
oDisp2 = oStr2 + "は不正文字の使用は無い? => " + oCheck2
JOptionPane.showMessageDialog(null, oDisp1 + "\n" + oDisp2);
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
Function
// Define Function
importClass(Packages.javax.swing.JOptionPane);
//
function func1(fp1,fp2){
return fp1 + " = " + fp2
};
oInt1 = "Macro_Test" ;
oInt2 = 1.0 ;
exmp1 = func1("oInt1",oInt1);
exmp2 = func1("oInt2",oInt2);
JOptionPane.showMessageDialog(null, exmp1);
JOptionPane.showMessageDialog(null, exmp2);
JOptionPane.showMessageDialog(null, "Success");
Object
// Rhino
importClass(Packages.org.mozilla.javascript.Context);
importClass(Packages.org.mozilla.javascript.Scriptable);
// JavaScriptの実行に必要なObject
ctx = Context.enter();
scope = ctx.initStandardObjects();
// JavaScriptを実行
result = ctx.evaluateString( scope, "function add(a, b) {return a+b} add(5.4,3.8)",
"RhinoExample",0,null);
// 実行結果を表示
rNum = Context.toString( result );
// JavaScriptの実行を終了
Context.exit();
// Rhino2
importClass(Packages.org.mozilla.javascript.Context);
importClass(Packages.org.mozilla.javascript.Scriptable);
// JavaScriptの実行に必要なObject
ctx = Context.enter();
scope = ctx.initStandardObjects();
//Initial Value
oInt1 = 10;
oInt2 = 20;
// Define Function
function func(a, b) {return a+b} ;
// Show the result of Funtion "func" on New Context
result = ctx.evaluateString( scope, func(oInt1, oInt2),"RhinoExample",0,null); // New Contextにfunc(oInt1,oInt2)の結果を表示
// JavaScriptの実行を終了
Context.exit();
// Rhino2
importClass(Packages.org.mozilla.javascript.Context);
importClass(Packages.org.mozilla.javascript.Scriptable);
importClass(Packages.javax.swing.JOptionPane);
// JavaScriptの実行に必要なObject
ctx = Context.enter();
scope = ctx.initStandardObjects();
//Initial Value
oInt1 = 10;
oInt2 = 20;
// Define Function
function func(a, b) {return a+b} ;
// Show the result of Funtion "func" on New Context
result = ctx.evaluateString( scope, "function add(a, b) {return a+b} add(5.4,3.8)",
"RhinoExample",0,null); // Contextにadd(oInt1,oInt2)の結果を表示
// JavaScriptの実行を終了
Context.exit();
// Rhino Class
importClass(Packages.org.mozilla.javascript.Context);
importClass(Packages.org.mozilla.javascript.Scriptable);
// JavaScriptの実行に必要なObject
ctx = Context.enter();
scope = ctx.initStandardObjects();
// JavaScriptを実行
result = ctx.evaluateString( scope, "function add(a, b) {return a+b} add(5.4,3.8)",
"RhinoExample",0,null);
// 実行結果のJava Class Nameを取得
rJavaClassName = result.getClass().getName();
JOptionPane.showMessageDialog(null, rJavaClassName)
// JavaScriptの実行を終了
Context.exit();
//[ Note ]
//引数がIntegerでも戻り値はDoubleになる。
File
[ File操作 ]
// File Exists
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
JOptionPane.showMessageDialog(null, oFile + " は存在します");
}
// File to be Renamed
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test1.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
if(oFile.renameTo(new File("C:/temp/test2.csv"))){
JOptionPane.showMessageDialog(null, oFile + " のFile名を変更しました。");
}
}
// File to be Create
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test1.csv");
oExists = oFile.exists();
if(oExists){
JOptionPane.showMessageDialog(null, oFile + " は既に存在します!!");
}else{
if(oFile.createNewFile()){
JOptionPane.showMessageDialog(null, oFile + " の作成に成功しました。");
}
}
// File Exists
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test_test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
delete oFile
oEx=oFile.exists();
if(!oEx){
JOptionPane.showMessageDialog(null, oFile + " を削除しました。");
}else{
JOptionPane.showMessageDialog(null, oFile + " は削除出来ません。");
}
}
}catch(e){
//Error
JOptionPane.showMessageDialog(null, "Error発生");
}
// Directory to be Create
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oDir = File("C:/temp/test_D");
oExists = oDir.exists();
if(oExists){
JOptionPane.showMessageDialog(null, oDir + " は既に存在します!!");
}else{
if(oDir.mkdir()){
JOptionPane.showMessageDialog(null, oDir + " の作成に成功しました。");
}
}
[ File情報 ]
<< 取得・確認 >>
// File to be Check case1
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test1.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
if(oFile.canRead()){
JOptionPane.showMessageDialog(null, oFile + " は「読み込み可能」です。");
}else{
JOptionPane.showMessageDialog(null, oFile + " は「読み込み可能」ではありません。");
}
}
// File to be Check case1b
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test2.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
if(oFile.canWrite()){
JOptionPane.showMessageDialog(null, oFile + " は「書き込み可能」です。");
}else{
JOptionPane.showMessageDialog(null, oFile + " は「書き込み可能」ではありません。");
}
}
// File to be Check case2
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test1.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
if(oFile.isFile()){
JOptionPane.showMessageDialog(null, oFile + " は「File」です。");
}else{
JOptionPane.showMessageDialog(null, oFile + " は「File」ではありません。");
}
}
// File to be Check case3
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test1.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
if(oFile.isDirectory()){
JOptionPane.showMessageDialog(null, oFile + " は「Directory」です。");
}else{
JOptionPane.showMessageDialog(null, oFile + " は「Directory」ではありません。");
}
}
// File
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oHidden = oFile.isHidden();
if(oHidden){
JOptionPane.showMessageDialog(null, oFile + " はHidden Fileです。");
}else{
JOptionPane.showMessageDialog(null, oFile + " はHidden Fileではありません。");
}
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "Error発生");
}
// File
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("test.csv");
oAbsolute = oFile.isAbsolute();
if(oAbsolute){
JOptionPane.showMessageDialog(null, oFile + " のPathは絶対Pathです。");
}else{
JOptionPane.showMessageDialog(null, oFile + " のPathは絶対Pathではありません。");
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "Error発生");
}
// Get File Name
importPackage(java.io);
importClass(Packages.javax.swing.JOptionPane);
oFile = File("C:/temp/test.csv");
oName = oFile.getName();
JOptionPane.showMessageDialog(null, oName);
// File
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oP = oFile.getAbsolutePath();
oDisp = "[ getAbsolutePath() ] => " + oP;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// File
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oP = oFile.getPath();
oDisp = "[ getPath() ] => " + oP;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// File
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oP = oFile.getParent();
oDisp = "[ getParent() ] => " + oP;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// File
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.java.text.SimpleDateFormat);
importClass(Packages.java.util.Calendar);
importClass(Packages.javax.swing.JOptionPane);
//Long type => Date Type
function convertDate(lo){
cal = Calendar.getInstance();
sf = new SimpleDateFormat("yyyy/MM/dd");
return sf.format(cal.getTime());
}
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oM = oFile.lastModified();
oMD = convertDate(oM);
oDisp = "[ lastModified() ] => " + oMD;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// List
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oDir = File("C:/temp/rhino");
oExists = oDir.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oDir + " は存在しません!!");
}else{
oL = oDir.list();
oC = oL.length
oDisp = "[ Directory内のFile&Directory数 ]" + "\n" +" => " + oC;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// List
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oDir = File("C:/temp/rhino");
oExists = oDir.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oDir + " は存在しません!!");
}else{
oL = oDir.list();
oC = oL.length;
for(i=0 ; i < oC ; i++){
oDisp = oL[i];
JOptionPane.showMessageDialog(null, oDisp);
}
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// List
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oDir = File("C:/temp/rhino");
oExists = oDir.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oDir + " は存在しません!!");
}else{
oL = oDir.listFiles();
oC = oL.length;
for(i=0 ; i < oC ; i++){
oDisp = oL[i];
JOptionPane.showMessageDialog(null, oDisp);
}
// JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// Separator
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oP = oFile.pathSeparator;
oDisp = "[ path separator ] => " + oP;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// Separator
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oP = oFile.separator;
oDisp = "[ path separator ] => " + oP;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
<< 設定 >>
// setRreadOnly
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oFile = File("C:/temp/test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oFile.setReadOnly();
//Confirm
oDisp = "[ Not ReadOnly? ] => " + oFile.canWrite();
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// setLastModified
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.java.text.SimpleDateFormat);
importClass(Packages.java.util.Calendar);
importPackage(java.util.date);
importClass(Packages.javax.swing.JOptionPane);
//Long type => Date Type
function convertDate(lo){
cal = Calendar.getInstance();
sf = new SimpleDateFormat("yyyy/MM/dd");
return sf.format(cal.getTime());
}
//
try{
oFile = File("C:/temp/test_test.csv");
oExists = oFile.exists();
if(!oExists){
JOptionPane.showMessageDialog(null, oFile + " は存在しません!!");
}else{
oDate = new Date();
oMT = oDate.getSeconds();
oFile.setLastModified(oMT);
// Confirm
oM = oFile.lastModified();
oMD = convertDate(oM);
oDisp = "[ lastModified() ] => " + oMD;
JOptionPane.showMessageDialog(null, oDisp);
}
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
[ Drive ]
// Drive
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oDrive = File("C:/");
oP = oDrive.getTotalSpace();
oDisp = oP + "[ bytes ]";
JOptionPane.showMessageDialog(null, oDisp);
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// Drive
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oDrive = File("C:/");
oP = oDrive.getFreeSpace();
oDisp = oP + "[ bytes ]";
JOptionPane.showMessageDialog(null, oDisp);
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
// Drive
importClass(Packages.java.io.File);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//
try{
oDrive = File("C:/");
oP = oDrive.getUsableSpace();
oDisp = oP + "[ bytes ]";
JOptionPane.showMessageDialog(null, oDisp);
}catch(IOException){
//例外処理
JOptionPane.showMessageDialog(null, "例外発生");
}
[ Stream ]
<< Byte Stream >>
// Stream
//in.txt / out.txtは事前に作成済み(out.txtはEmpty file)
importClass(Packages.java.io.BufferedInputStream);
importClass(Packages.java.io.BufferedOutputStream);
importClass(Packages.java.io.File);
importClass(Packages.java.io.FileInputStream);
importClass(Packages.java.io.FileOutputStream);
importClass(Packages.java.io.FileNotFoundException);
importClass(Packages.java.io.IOException);
importClass(Packages.javax.swing.JOptionPane);
//入力用のfile objectを生成
inputfile = new File("c:/temp/Rhino/tmp/in.txt");
//出力用のfile objectを生成
outputfile = new File("c:/temp/Rhino/tmp/out.txt")
//Finaly句にてStreamのclose処理をする為にtry句の外にstreamを定義する
inputputStream = null;
outputStream = null;
try{
//入力fileからbufferに蓄えるstream生成
inFS = new FileInputStream(inputfile);
inputStream = new BufferedInputStream(inFS);
//bufferに蓄えたbyteを出力fileへ書込むstream生成
outFS = new FileOutputStream(outputfile);
outputStream = new BufferedOutputStream(outFS);
//入力fileからbyte読込
//出力fileにdefaultのbuffer単位で書出
while((bytes=inputStream.read()) != -1){
outputStream.write(bytes);
}
JOptionPane.showMessageDialog(null, "success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}finally{
// Streamのclose処理をfillay句で行う
if(inputStream != null){
try{
inputStream.close();
}catch(IOException){
ename1 = e.name;
emsg1 = e.message;
eDisp1= ename1 + "\n" + emsg1;
JOptionPane.showMessageDialog(null, eDisp1);
}
}
if(outputStream != null){
try{
outputStream.close();
}catch(IOException){
ename2 = e.name;
emsg2 = e.message;
eDisp2= ename2 + "\n" + emsg2;
JOptionPane.showMessageDialog(null, eDisp2);
}
}
JOptionPane.showMessageDialog(null, "Closed Stream");
}
// Char Stream
//in.txt / out.txtは事前に作成済み(out.txtはEmpty file)
importClass(Packages.java.io.BufferedReader);
importClass(Packages.java.io.BufferedWriter);
importClass(Packages.java.io.File);
importClass(Packages.java.io.FileInputStream);
importClass(Packages.java.io.FileOutputStream);
importClass(Packages.java.io.FileNotFoundException);
importClass(Packages.java.io.IOException);
importClass(Packages.java.io.InputStreamReader);
importClass(Packages.java.io.OutputStreamWriter);
importClass(Packages.javax.swing.JOptionPane);
//入力用のfile objectを生成
inputfile = new File("c:/temp/rhino/temp/in.txt");
//出力用のfile objectを生成
outputfile = new File("c:/temp/rhino/temp/out.txt")
//Finaly句にてStreamのclose処理をする為にtry句の外にstreamを定義する
reader = null;
writer = null;
try{
//入力fileからBufferInputStreamにて蓄えるstream生成
inFS = new FileInputStream(inputfile);
intext= new InputStreamReader(inFS, "SJIS"); // "UTF-8"
reader = new BufferedReader(intext);
//bufferに蓄えたbyteを出力fileへ書込むstream生成
outFS = new FileOutputStream(outputfile);
outtext = new OutputStreamWriter(outFS, "SJIS"); // "UTF-8"
writer = new BufferedWriter(outtext);
//入力fileから1 Line 分byte読込
//出力fileに1 Line defaultのbuffer単位で書出
line = null
while((line=reader.readLine()) != null){
writer.write(line);
writer.newLine();
}
JOptionPane.showMessageDialog(null, "success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}finally{
// Streamのclose処理をfillay句で行う
if(reader != null){
try{
reader.close();
}catch(IOException){
ename1 = e.name;
emsg1 = e.message;
eDisp1= ename1 + "\n" + emsg1;
JOptionPane.showMessageDialog(null, eDisp1);
}
}
if(writer != null){
try{
writer.close();
}catch(IOException){
ename2 = e.name;
emsg2 = e.message;
eDisp2= ename2 + "\n" + emsg2;
JOptionPane.showMessageDialog(null, eDisp2);
}
}
JOptionPane.showMessageDialog(null, "Closed Stream");
}
Thead
//thread
importClass(Packages.java.lang.Thread);
importClass(Packages.javax.swing.JOptionPane);
//
try{
sleeptime = 5000; // 5sec
Thread.sleep(sleeptime);
JOptionPane.showMessageDialog(null, "Success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
Utility
//HashMap
var map = new java.util.HashMap();
map.put("7788", "scott");
map.put("7839", "king");
a=map.get("7788");
b=map.keySet();
importClass(Packages.javax.swing.JOptionPane);
JOptionPane.showMessageDialog(null, a+"\n"+b);
//Map Size
importPackage(java.util.map);
var map = new java.util.HashMap();
map.put("7788", "scott");
map.put("7839", "king");
a=map.get("7788");
b=map.keySet();
map_length = map.size();
importClass(Packages.javax.swing.JOptionPane);
JOptionPane.showMessageDialog(null, "Keyの値の数 : "+map_length);
//Remove Map
importPackage(java.util.map);
importClass(Packages.javax.swing.JOptionPane);
// HasMap 初期化
var map = new java.util.HashMap();
//key
keys = new Array("060", "050", "040", "030", "020", "010");
//value
vals = new Array("1番", "2番", "3番", "4番", "5番", "6番");
//set HashMap
for( i = 0; i < keys.length; i++ ){
map.put(keys[i],vals[i]);
}
//Display initial
map_length = map.size();
JOptionPane.showMessageDialog(null, "Init Keyの値の数 : "+ map_length
+ "\n" +
"Keyの値 : "+map);
//remove key="040"
map.remove("040");
//Display Modified
map_length = map.size();
JOptionPane.showMessageDialog(null, "Modified Keyの値の数 : "+ map_length
+ "\n" +
"Keyの値 : "+map);
//Clear Map
importPackage(java.util.map);
importClass(Packages.javax.swing.JOptionPane);
// HasMap 初期化
var map = new java.util.HashMap();
//key
keys = new Array("060", "050", "040", "030", "020", "010");
//value
vals = new Array("1番", "2番", "3番", "4番", "5番", "6番");
//set HashMap
for( i = 0; i < keys.length; i++ ){
map.put(keys[i],vals[i]);
}
//Display initial
map_length = map.size();
JOptionPane.showMessageDialog(null, "Init Keyの値の数 : "+ map_length
+ "\n" +
"Keyの値 : "+map);
//remove key="040"
map.clear();
//Display Modified
map_length = map.size();
JOptionPane.showMessageDialog(null, "Modified Keyの値の数 : "+ map_length
+ "\n" +
"Keyの値 : "+map);
//Check Map
importPackage(java.util.map);
importClass(Packages.javax.swing.JOptionPane);
// HasMap 初期化
var map = new java.util.HashMap();
//key
keys = new Array("060", "050", "040", "030", "020", "010");
//value
vals = new Array("1番", "2番", "3番", "4番", "5番", "6番");
//set HashMap
for( i = 0; i < keys.length; i++ ){
map.put(keys[i],vals[i]);
}
//Check key
checkkey = "030"
ckey = map.containsKey(checkkey);
if(ckey){
JOptionPane.showMessageDialog(null, checkkey + " は存在します。");
} else {
JOptionPane.showMessageDialog(null, checkkey + " は存在しません。");
}
//Check value
checkvalue = "7番"
cValue = map.containsValue(checkvalue);
if(cValue){
JOptionPane.showMessageDialog(null, checkvalue + " は存在します。");
} else {
JOptionPane.showMessageDialog(null, checkvalue + " は存在しません。");
}
// java.util.Hashtable / java.util.Enumeration
importClass(java.util.Hashtable);
importClass(java.util.Enumeration);
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.org.mozilla.javascript.Context);
importClass(Packages.org.mozilla.javascript.Scriptable);
// JavaScriptの実行に必要なObject
ctx = Context.enter();
scope = ctx.initStandardObjects();
jArr = new Array(200,500,600)
numbers = new Hashtable();
numbers.put("mikan", jArr[0]);
numbers.put("ringo", jArr[1]);
numbers.put("budou", jArr[2]);
e = numbers.elements();
while (e.hasMoreElements()){
// JavaScriptを実行
result = ctx.evaluateString( scope, e.nextElement(),
"RhinoExample",0,null)
};
// 実行結果を表示
rNum = Context.toString( result );
// JavaScriptの実行を終了
Context.exit();
JOptionPane.showMessageDialog(null, "Success");
// Zip
//in.txt は事前に作成済み
importClass(Packages.java.io.File);
importClass(Packages.java.io.FileInputStream);
importClass(Packages.java.io.FileOutputStream);
importClass(Packages.java.io.IOException);
importClass(Packages.java.util.zip.DeflaterInputStream);
importClass(Packages.java.util.zip.InflaterOutputStream);
importClass(Packages.javax.swing.JOptionPane);
//入力用のfile objectを生成
inputfile = new File("c:/temp/rhino/temp/in.txt");
//出力用のfile objectを生成
outputfile = new File("c:/temp/rhino/temp/outLIB.txt")
//
try{
// text file読み込み圧縮したStreamにする
inFS = new FileInputStream(inputfile)
inDeflater = new DeflaterInputStream(inFS);
// 圧縮されたStreamを解凍して text fileへ書込む
outFS = new FileOutputStream(outputfile);
outInflater = new InflaterOutputStream(outFS);
//実際にStreamを読み込み、同時に書き出す
while((bytes = inDeflater.read()) != -1){
outInflater.write(bytes);
}
JOptionPane.showMessageDialog(null, "success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//merory
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.lang.Runtime);
//
try{
oruntime = Runtime.getRuntime();
oM1 = oruntime.freeMemory() / 1000000; // <=MB
oDisp1= "Avaiable Memory1 =>" + oM1 + "MB";
JOptionPane.showMessageDialog(null, oDisp1);
test = 0;
for(i=0; i<10000; i++){
test = test + i;
}
oM2 = oruntime.freeMemory() / 1000000; // <=MB
oDisp2= "Avaiable Memory2 =>" + oM2 + "MB";
JOptionPane.showMessageDialog(null, oDisp2);
JOptionPane.showMessageDialog(null, "Success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//merory
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.lang.Runtime);
//
try{
oruntime = Runtime.getRuntime();
oM1 = oruntime.totalMemory() / 1000000; // <=MB
oDisp1= "Jva仮想マシンのメモリ総容量 =>" + oM1 + "MB";
JOptionPane.showMessageDialog(null, oDisp1);
test = 0;
for(i=0; i<10000; i++){
test = test + i;
}
oM2 = oruntime.freeMemory() / 1000000; // <=MB
oDisp2= "Jva仮想マシンのメモリ総容量 =>" + oM2 + "MB";
JOptionPane.showMessageDialog(null, oDisp2);
JOptionPane.showMessageDialog(null, "Success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
Swing
[ Frame ]
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,200,300); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,200,300); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel)
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTextField);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel);
//Text Box Size
otext = new JTextField(10);
basicPanel.add(otext);
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTextField);
importClass(Packages.javax.swing.JPasswordField);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel);
//Text Box Size
otext = new JTextField(10);
basicPanel.add(otext);
//Password Box Size
opass = new JPasswordField(10);
basicPanel.add(opass)
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTextField);
importClass(Packages.javax.swing.JPasswordField);
importClass(Packages.javax.swing.JTextArea);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel);
//Text Box Size
otext = new JTextField(10);
basicPanel.add(otext);
//Password Box Size
opass = new JPasswordField(10);
basicPanel.add(opass)
//Text Area Size (行数,幅)
otextarea = new JTextArea(5,10);
basicPanel.add(otextarea)
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTextField);
importClass(Packages.javax.swing.JPasswordField);
importClass(Packages.javax.swing.JTextArea);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel);
//Text Box Size
otext = new JTextField(10);
basicPanel.add(otext);
//Password Box Size
opass = new JPasswordField(10);
basicPanel.add(opass);
//Text Area Size (行数,幅)
otextarea = new JTextArea(5,10);
basicPanel.add(otextarea);
//Bottun
obutton = new JButton("Bottun");
basicPanel.add(obutton);
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTextField);
importClass(Packages.javax.swing.JPasswordField);
importClass(Packages.javax.swing.JTextArea);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JCheckBox);
//importClass(Packages.javax.swing.ButtonGroup);
//importClass(Packages.javax.swing.JRadioButton);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel);
//Text Box Size
otext = new JTextField(10);
basicPanel.add(otext);
//Password Box Size
opass = new JPasswordField(10);
basicPanel.add(opass);
//Text Area Size (行数,幅)
otextarea = new JTextArea(5,10);
basicPanel.add(otextarea);
//Bottun
obutton = new JButton("Bottun");
basicPanel.add(obutton);
//Check Box
ocheckbox = new JCheckBox("CheckBox");
basicPanel.add(ocheckbox);
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTextField);
importClass(Packages.javax.swing.JPasswordField);
importClass(Packages.javax.swing.JTextArea);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JCheckBox);
importClass(Packages.javax.swing.JRadioButton);
//importClass(Packages.javax.swing.ButtonGroup);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel);
//Text Box Size
otext = new JTextField(10);
basicPanel.add(otext);
//Password Box Size
opass = new JPasswordField(10);
basicPanel.add(opass);
//Text Area Size (行数,幅)
otextarea = new JTextArea(5,10);
basicPanel.add(otextarea);
//Bottun
obutton = new JButton("Bottun");
basicPanel.add(obutton);
//Check Box
ocheckbox = new JCheckBox("CheckBox");
basicPanel.add(ocheckbox);
//Radio Bottun
oradiobottun1 = new JRadioButton("Radio1");
basicPanel.add(oradiobottun1);
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTextField);
importClass(Packages.javax.swing.JPasswordField);
importClass(Packages.javax.swing.JTextArea);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JCheckBox);
importClass(Packages.javax.swing.JRadioButton);
importClass(Packages.javax.swing.ButtonGroup);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
// 新規Panel
basicPanel = new JPanel();
// Lavel
olavel = new JLabel("Label");
basicPanel.add(olavel);
//Text Box Size
otext = new JTextField(10);
basicPanel.add(otext);
//Password Box Size
opass = new JPasswordField(10);
basicPanel.add(opass);
//Text Area Size (行数,幅)
otextarea = new JTextArea(5,10);
basicPanel.add(otextarea);
//Bottun
obutton = new JButton("Bottun");
basicPanel.add(obutton);
//Check Box
ocheckbox = new JCheckBox("CheckBox");
basicPanel.add(ocheckbox);
//Radio Bottun
oradiobutton1 = new JRadioButton("Radio1");
oradiobutton2 = new JRadioButton("Radio2");
//Group化
radiogroup = new ButtonGroup();
radiogroup.add(oradiobutton1);
radiogroup.add(oradiobutton1);
//Panelに追加
basicPanel.add(oradiobutton1);
basicPanel.add(oradiobutton2);
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JMenu);
importClass(Packages.javax.swing.JMenuBar);
importClass(Packages.javax.swing.JMenuItem);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,500,200); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
basicPanel = new JPanel();
// 新規Menu Bar
menubar = new JMenuBar();
// Panelに対して設定
basicPanel.add(menubar);
// menu作成
omenu = new JMenu("File");
menubar.add(omenu);
//menuに追加するcomponentの生成
oitem1 = new JMenuItem("New");
oitem2 = new JMenuItem("Open");
oitem3 = new JMenuItem("Close");
oitem4 = new JMenuItem("Exit");
omenu.add(oitem1);
omenu.add(oitem2);
omenu.add(oitem3);
omenu.add(oitem4);
// FrameにPanelを追加
basicframe.add(basicPanel)
JOptionPane.showMessageDialog(null, "Success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JTree);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,300,500);
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel
basicPanel = new JPanel();
// Tree作成
otree = new JTree();
// Panelに対して設定
basicPanel.add(otree);
// FrameにPanelを追加
basicframe.add(basicPanel);
JOptionPane.showMessageDialog(null, "Success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JTabbedPane);
importClass(Packages.javax.swing.SwingConstants);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,300,500); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Tab Panel作成
tabp = new JTabbedPane(SwingConstants.BOTTOM);
tabp.addTab("Tab1", new JLabel("tab1の内容"));
tabp.addTab("Tab2", new JLabel("=>tab2の内容"));
tabp.addTab("Tab3", new JLabel("=>=>tab3の内容"));
tabp.addTab("Tab4", new JLabel("=>=>=>tab4の内容"));
// FrameにPanelを追加
basicframe.add(tabp);
JOptionPane.showMessageDialog(null, "Success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JPanel);
importClass(Packages.javax.swing.JComboBox);
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,200,500); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame")
// Display Frame
basicframe.setVisible(true)
//Panel作成
basicPanel = new JPanel();
//Combo Box Data
cdata = new Array();
cdata[0] = "徳川家康";
cdata[1] = "徳川秀忠";
cdata[2] = "徳川家光";
cdata[3] = "徳川家綱";
cdata[4] = "徳川綱吉";
cdata[5] = "徳川家宣";
cdata[6] = "徳川家継";
cdata[7] = "徳川吉宗";
cdata[8] = "徳川家重";
cdata[9] = "徳川家治";
cdata[10] = "徳川家斉";
cdata[11] = "徳川家慶";
cdata[12] = "徳川家定";
cdata[13] = "徳川家茂";
cdata[14] = "徳川慶喜";
//
oComboBox = new JComboBox(cdata);
// PanelにCombo Boxを追加
basicPanel.add(oComboBox);
// FrameにPanelを追加
basicframe.add(basicPanel);
JOptionPane.showMessageDialog(null, "Success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
// Rhino Aplet Frame
importClass(Packages.org.mozilla.javascript.Context);
importClass(Packages.org.mozilla.javascript.Scriptable);
importClass(Packages.org.mozilla.javascript.ScriptableObject);
importClass(Packages.javax.swing.JOptionPane);
// JavaScriptの実行に必要なObject
ctx = Context.enter();
scope = ctx.initStandardObjects();
// 表示させるFrame(Window)
ScriptableObject.putProperty( scope, "f", new Packages.javax.swing.JFrame("Frame") );
// Applet FrameをJavaScriptで表示
result = ctx.evaluateString( scope, "f.setSize(200,200);"
+ "f.defaultCloseOperation = Packages.javax.swing.JFrame.DISPOSE_ON_CLOSE;" // <= Appletの終了
+ "f.visible = true;"
,"RhinoExample",0,null);
// JavaScriptの実行を終了
Context.exit();
//
// DO_NOTHING_ON_CLOSE : Do not do anything when the user requests that the window close.
// HIDE_ON_CLOSE : Hide the window when the user closes it.
// DISPOSE_ON_CLOSE : Hide and dispose of the window when the user closes it.
// EXIT_ON_CLOSE : Exit the application, using System.exit(0). This is recommended for applications only.
// Color Smile Mark
var awt = java.awt;
var event = awt.event;
var graphics = awt.Graphics;
var system = java.lang.System;
var smileyCanvas = new JavaAdapter(awt.Canvas, {
paint: function (g) {
var size = this.getSize();
var d = Math.min(size.width, size.height);
var ed = d / 20;
var x = (size.width - d) / 2;
var y = (size.height - d) / 2;
// draw head (color already set to foreground)
g.fillOval(x, y, d, d);
g.setColor(awt.Color.black);
g.drawOval(x, y, d, d);
// draw eyes
g.fillOval(x+d/3-(ed/2), y+d/3-(ed/2), ed, ed);
g.fillOval(x+(2*(d/3))-(ed/2), y+d/3-(ed/2), ed, ed);
//draw mouth
g.drawArc(x+d/4, y+2*(d/5), d/2, d/3, 0, -180);
}
});
smileyCanvas.setForeground(awt.Color.yellow);
var winAdapter = new JavaAdapter(event.WindowAdapter, {
windowClosing: function (evt) {
system.exit(0);
}
});
var f = new awt.Frame('Have a nice day');
f.addWindowListener(winAdapter);
f.add(smileyCanvas, awt.BorderLayout.CENTER);
f.pack();
f.show();
f.setSize(new awt.Dimension(320, 240));
// Color Smile Mark
var awt = java.awt;
var event = awt.event;
var graphics = awt.Graphics;
var system = java.lang.System;
var smileyCanvas = new JavaAdapter(awt.Canvas, {
paint: function (g) {
var size = this.getSize();
var d = Math.min(size.width, size.height);
var ed = d / 20;
var x = (size.width - d) / 2;
var y = (size.height - d) / 2;
// draw head (color already set to foreground)
g.fillOval(x, y, d, d);
g.setColor(awt.Color.black);
g.drawOval(x, y, d, d);
// draw eyes
g.fillOval(x+d/3-(ed/2), y+d/3-(ed/2), ed, ed);
g.fillOval(x+(2*(d/3))-(ed/2), y+d/3-(ed/2), ed, ed);
//draw mouth
g.drawArc(x+d/4, y+2*(d/5), d/2, d/3, 0, -180);
}
});
//
smileyCanvas.setForeground(awt.Color.yellow);
var winAdapter = new JavaAdapter(event.WindowAdapter, {
windowClosing: function (evt) {
Context.exit();
}
});
var f = new awt.Frame('Have a nice day');
f.addWindowListener(winAdapter);
f.add(smileyCanvas, awt.BorderLayout.CENTER);
f.pack();
f.show();
f.setSize(new awt.Dimension(320, 240));
[ Listener ]
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.java.awt.event.ActionEvent);
importClass(Packages.java.awt.event.ActionListener);
importClass(Packages.java.awt.Color);
importClass(Packages.java.awt.event.MouseEvent);
importClass(Packages.java.awt.event.MouseListener);
importClass(Packages.java.awt.event.WindowAdapter);
importClass(Packages.java.awt.event.WindowEvent);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JPanel);
//importClass(Packages.javax.swing.border.LineBorder); // <= error
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,200,300); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame");
// Display Frame
basicframe.setVisible(true);
//Panel
basicPanel = new JPanel();
// oline = new LineBorder(Color.black, 1, true); // <= error
// Initialize Label
resultLabel = new JLabel("結果表示のLabelです");
// resultLabel.setBorder(oline);
basicPanel.add(resultLabel);
//Button
//Buttonに表示する文字
obutton = new JButton("Push Button");
//Buttonが押された場合の処理
obutton.addActionListener(ActionListener({
actionPerformed : function(e){
resultLabel.setText("Buttonが押されました!")
}
})
);
//
//PanelにButton追加
basicPanel.add(obutton);
//FrameにPanel追加
basicframe.add(basicPanel);
JOptionPane.showMessageDialog(null, "Success");
// basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.java.awt.event.ActionEvent);
importClass(Packages.java.awt.event.ActionListener);
importClass(Packages.java.awt.Color);
importClass(Packages.java.awt.event.MouseEvent);
importClass(Packages.java.awt.event.MouseListener);
importClass(Packages.java.awt.event.WindowAdapter);
importClass(Packages.java.awt.event.WindowEvent);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JPanel);
//importClass(Packages.javax.swing.border.LineBorder); // <= error
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,300,100); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame");
// Display Frame
basicframe.setVisible(true);
//Panel
basicPanel = new JPanel();
// oline = new LineBorder(Color.black, 1, true); // <= error
// Initialize Label
resultLabel = new JLabel("このLabelをClickして下さい!!");
// resultLabel.setBorder(oline);
//Labelが押された場合の処理
resultLabel.addMouseListener(MouseListener({
mouseClicked : function(e){
resultLabel.setText("LabelがClickされました!!")
}
})
);
//
//PanelにLabel追加
basicPanel.add(resultLabel);
//FrameにPanel追加
basicframe.add(basicPanel);
JOptionPane.showMessageDialog(null, "Success");
// basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.java.awt.event.ActionEvent);
importClass(Packages.java.awt.event.ActionListener);
importClass(Packages.java.awt.Color);
importClass(Packages.java.awt.event.MouseEvent);
importClass(Packages.java.awt.event.MouseListener);
importClass(Packages.java.awt.event.WindowAdapter);
importClass(Packages.java.awt.event.WindowEvent);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JPanel);
//importClass(Packages.javax.swing.border.LineBorder); // <= error
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,300,100); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame");
// Display Frame
basicframe.setVisible(true);
//Panel
basicPanel = new JPanel();
// oline = new LineBorder(Color.black, 1, true); // <= error
// Initialize Label
resultLabel = new JLabel("このLabelをClickして下さい!!");
// resultLabel.setBorder(oline);
//Labelが押された場合の処理
resultLabel.addMouseListener(MouseListener({
mouseClicked : function(e){
resultLabel.setText("LabelがClickされました!!")
}
})
);
//Mouse CursorがLabel上に乗った時の処理
resultLabel.addMouseListener(MouseListener({
mouseEntered : function(e){
resultLabel.setText("Lavel上にmouse cursorが乗っています。")
}
})
);
//
//PanelにLabel追加
basicPanel.add(resultLabel);
//FrameにPanel追加
basicframe.add(basicPanel);
JOptionPane.showMessageDialog(null, "Success");
// basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.java.awt.event.ActionEvent);
importClass(Packages.java.awt.event.ActionListener);
importClass(Packages.java.awt.Color);
importClass(Packages.java.awt.event.MouseEvent);
importClass(Packages.java.awt.event.MouseListener);
importClass(Packages.java.awt.event.WindowAdapter);
importClass(Packages.java.awt.event.WindowEvent);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JPanel);
//importClass(Packages.javax.swing.border.LineBorder); // <= error
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,300,100); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame");
// Display Frame
basicframe.setVisible(true);
//Panel
basicPanel = new JPanel();
// oline = new LineBorder(Color.black, 1, true); // <= error
// Initialize Label
resultLabel = new JLabel("このLabelをClickして下さい!!");
// resultLabel.setBorder(oline);
//Labelが押された場合の処理
resultLabel.addMouseListener(
new MouseListener({
mouseClicked : function(e){
resultLabel.setText("LabelがClickされました!!")
}
})
);
//Mouse CursorがLabel上に乗った時の処理
resultLabel.addMouseListener(MouseListener({
mouseEntered : function(e){
resultLabel.setText("Lavel上にmouse cursorが乗っています。")
}
})
);
//PanelにLabel追加
basicPanel.add(resultLabel);
//FrameにPanel追加
basicframe.add(basicPanel);
//Mouse CursorがLabel上から外れたの処理
resultLabel.addMouseListener(MouseListener({
mouseExited : function(e){
resultLabel.setText("Lavel上からmouse cursorが外れました。")
}
})
);
//
JOptionPane.showMessageDialog(null, "Success");
// basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
//Swing
importClass(Packages.javax.swing.JFrame);
importClass(Packages.java.awt.event.ActionEvent);
importClass(Packages.java.awt.event.ActionListener);
importClass(Packages.java.awt.Color);
importClass(Packages.java.awt.event.MouseEvent);
importClass(Packages.java.awt.event.MouseListener);
importClass(Packages.java.awt.event.WindowAdapter);
importClass(Packages.java.awt.event.WindowEvent);
importClass(Packages.javax.swing.JButton);
importClass(Packages.javax.swing.JLabel);
importClass(Packages.javax.swing.JPanel);
//importClass(Packages.javax.swing.border.LineBorder); // <= error
importClass(Packages.javax.swing.JOptionPane);
//
try{
//Basic Frame
basicframe = new JFrame();
basicframe.setBounds(10,10,300,100); // (表示位置x,y, Frame Width, Height)
// Titel of Frame
basicframe.setTitle("Title of Frame");
// Display Frame
basicframe.setVisible(true);
//Panel
basicPanel = new JPanel();
// oline = new LineBorder(Color.black, 1, true); // <= error
// Initialize Label
resultLabel = new JLabel("このLabelをClickして下さい!!");
// resultLabel.setBorder(oline);
//LabelがClickされた場合の処理
resultLabel.addMouseListener(
new MouseListener({
mouseClicked : function(e){
resultLabel.setText("LabelがClickされました!!")
}
})
);
//Mouse CursorがLabel上に乗った時の処理
resultLabel.addMouseListener(MouseListener({
mouseEntered : function(e){
resultLabel.setText("Lavel上にmouse cursorが乗っています。")
}
})
);
//PanelにLabel追加
basicPanel.add(resultLabel);
//FrameにPanel追加
basicframe.add(basicPanel);
//Mouse CursorがLabel上から外れたの処理
resultLabel.addMouseListener(MouseListener({
mouseExited : function(e){
resultLabel.setText("Lavel上からmouse cursorが外れました。")
}
})
);
//MouseがLabel上で押されている時の処理
resultLabel.addMouseListener(MouseListener({
mousePressed : function(e){
resultLabel.setText("mouse buttonが押されています")
}
})
);
//MouseがLabel上で押された後に離された時の処理
// resultLabel.addMouseListener(MouseListener({
// mouseReleased : function(e){
// resultLabel.setText("mouse buttonが離されました")
// }
// })
// );
//
JOptionPane.showMessageDialog(null, "Success");
// basicframe.setVisible(false)
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
// Applet Listener
importClass(Packages.javax.swing.JFrame);
importClass(Packages.javax.swing.JOptionPane);
button = new Packages.javax.swing.JButton("ボタンを押して!");
button.addActionListener(new java.awt.event.ActionListener({
actionPerformed : function(e) {
JOptionPane.showMessageDialog(e.source,"Pushed Bottun!!")
}
})
)
frame = new JFrame("JavaScriptでSwing");
frame.setSize(250,100);
frame.defaultCloseOperation = Packages.javax.swing.JFrame.DISPOSE_ON_CLOSE;
frame.contentPane.add( button );
frame.visible = true;
// Context.exit();
NetWork
//Local Network information importClass(Packages.java.net.InetAddress); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ // get information fof Host myadd =InetAddress.getLocalHost(); // get IP Address myIPAdd = myadd.getHostAddress(); // get Host name myHostname = myadd.getHostName(); // Display JOptionPane.showMessageDialog(null, "IP Address : " + myIPAdd + "\n" + "HOST Name : " + myHostname); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//Network information importClass(Packages.java.net.InetAddress); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ // get information fof Host host1 = InetAddress.getByName("www.yahoo.co.jp"); // get IP Address hostIPAdd1 = host1.getHostAddress(); // get Host name Hostname1 = host1.getHostName(); // Display JOptionPane.showMessageDialog(null, "IP Address : " + hostIPAdd1 + "\n" + "HOST Name : " + Hostname1); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//Network information importClass(Packages.java.net.InetAddress); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ // get information fof Host host1 = InetAddress.getByName("208.71.106.43"); // get IP Address hostIPAdd1 = host1.getHostAddress(); // get Host name Hostname1 = host1.getHostName(); // Display JOptionPane.showMessageDialog(null, "IP Address : " + hostIPAdd1 + "\n" + "HOST Name : " + Hostname1); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//Network informations importClass(Packages.java.net.InetAddress); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ // get informations fof Host oHostName= "www.yahoo.com" host = new Array() host = InetAddress.getAllByName(oHostName); // get IP Address oDisp = "[ " + oHostName + " ]" + "\n" + "\n" for(i = 0; i < host.length; i++){ oDisp = oDisp + "IP-" + (i+1) + " : " + host[i].getHostAddress() + "\n"; } // Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.yahoo.com/"); oDisp = "取得成功 => " + url1; oDisp = oDisp + "\n"; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); // try{ //URL構成要素から作成 url1 = new URL("http", "www.google.com", "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); oDisp = "取得成功 => " + url1; oDisp = oDisp + "\n"; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); oDisp = "取得成功 => " + url1; oDisp = oDisp + "\n"; //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); oDisp = oDisp + "取得成功 => " + url2; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getProtocol(); oDisp = " protocol => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getHost(); oDisp = " Host name => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getPort(); oDisp = " Port No. => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getQuery(); oDisp = " Query文字列 => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getPath(); oDisp = " Path => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getFile(); oDisp = " File Name => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getRef(); oDisp = " Anchor name => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.google.com/"); //作成したObjectを利用してURL Objectを作成 url2 = new URL(url1, "webhp?sourceid=mozclient&ie=utf-8&oe=utf-8"); //get protocol oNetInfo = url2.getUserInfo(); oDisp = " UserInfo => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL object infomation importClass(Packages.java.net.URL); importClass(Packages.java.net.MalformedURLException); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org/servlets/StartPage"); //get information oNetInfo = url1.getAuthority(); oDisp = " User権限 => " + oNetInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "取得失敗"); } JOptionPane.showMessageDialog(null, "Success")
//URL Connect importClass(Packages.java.net.URL); importClass(Packages.java.net.URLConnection); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org"); //URL Connection Objectの生成 oURLCon =url1.openConnection(); oDisp = " 接続確立 : " + oURLCon; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (e){ // Error処理 JOptionPane.showMessageDialog(null, "例外発生"); } JOptionPane.showMessageDialog(null, "Success")
//URL Connect Contnt Info importClass(Packages.java.net.URL); importClass(Packages.java.net.URLConnection); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org"); //URL Connection Objectの生成 oURLCon =url1.openConnection() oConInfo = oURLCon.getContentType(); oDisp = " 接続確立 : " + oConInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (e){ // Error処理 JOptionPane.showMessageDialog(null, "Error発生"); } JOptionPane.showMessageDialog(null, "Success")
//URL Connect Contnt Info importClass(Packages.java.net.URL); importClass(Packages.java.net.URLConnection); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org"); //URL Connection Objectの生成 oURLCon =url1.openConnection() oConInfo = oURLCon.getContentLength(); oDisp = " Cobtent Size : " + oConInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (e){ // Error処理 JOptionPane.showMessageDialog(null, "Error発生"); } JOptionPane.showMessageDialog(null, "Success")
//URL Connect Contnt Info importClass(Packages.java.net.URL); importClass(Packages.java.net.URLConnection); importClass(Packages.javax.swing.JOptionPane); try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org"); //URL Connection Objectの生成 oURLCon =url1.openConnection() oConInfo = oURLCon.getContentEncoding(); oDisp = " Cobtent Encoding : " + oConInfo; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (e){ // Error処理 JOptionPane.showMessageDialog(null, "Error発生"); } JOptionPane.showMessageDialog(null, "Success")
//URL Connect Contnt Info importClass(Packages.java.net.URL); importClass(Packages.java.net.URLConnection); importClass(Packages.java.text.SimpleDateFormat); importClass(Packages.java.util.Calendar); importClass(Packages.javax.swing.JOptionPane); //Long type => Date Type function convertDate(lo){ cal = Calendar.getInstance(); sf = new SimpleDateFormat("yyyy/MM/dd"); return sf.format(cal.getTime()); } // try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org"); //URL Connection Objectの生成 oURLCon =url1.openConnection() oConInfo = oURLCon.getDate(); oURLDate = convertDate(oConInfo); oDisp = " Cobtent 送信日 : " + oURLDate; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (e){ // Error処理 JOptionPane.showMessageDialog(null, "Error発生"); } JOptionPane.showMessageDialog(null, "Success")
//URL Connect Contnt Info importClass(Packages.java.net.URL); importClass(Packages.java.net.URLConnection); importClass(Packages.java.text.SimpleDateFormat); importClass(Packages.java.util.Calendar); importClass(Packages.javax.swing.JOptionPane); //Long type => Date Type function convertDate(lo){ cal = Calendar.getInstance(); sf = new SimpleDateFormat("yyyy/MM/dd"); return sf.format(cal.getTime()); } // try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org"); //URL Connection Objectの生成 oURLCon =url1.openConnection() oConInfo = oURLCon.getExpiration(); oURLDate = convertDate(oConInfo); oDisp = " Content 有効期限 : " + oURLDate; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (e){ // Error処理 JOptionPane.showMessageDialog(null, "Error発生"); } JOptionPane.showMessageDialog(null, "Success")
//URL Connect Contnt Info importClass(Packages.java.net.URL); importClass(Packages.java.net.URLConnection); importClass(Packages.java.text.SimpleDateFormat); importClass(Packages.java.util.Calendar); importClass(Packages.javax.swing.JOptionPane); //Long type => Date Type function convertDate(lo){ cal = Calendar.getInstance(); sf = new SimpleDateFormat("yyyy/MM/dd"); return sf.format(cal.getTime()); } // try{ //URLの文字列から生成 url1 = new URL("http://www.openoffice.org"); //URL Connection Objectの生成 oURLCon =url1.openConnection() oConInfo = oURLCon.getLastModified(); oURLDate = convertDate(oConInfo); oDisp = " Content 最終更新日 : " + oURLDate; //Display JOptionPane.showMessageDialog(null, oDisp); }catch (e){ // Error処理 JOptionPane.showMessageDialog(null, "Error発生"); } JOptionPane.showMessageDialog(null, "Success")
//Socket importClass(Packages.java.io.IOException); importClass(Packages.java.net.Socket); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ //Socket Connection作成 sc = new Socket("http://www.openoffice.org", 80); oDisp = "Connection 確立" + sc //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "UnknownHostException発生"); // }catch (IOException){ // 例外処理 // JOptionPane.showMessageDialog(null, "IOException発生"); } JOptionPane.showMessageDialog(null, "Success")
//Socket IP Address importClass(Packages.java.io.IOException); importClass(Packages.java.net.Socket); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ //Socket Connection作成 sc = new Socket("http://www.openoffice.org", 80); sIP = sc.getInetAddress(); oDisp = "接続先Address : " + sIP //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "UnknownHostException発生"); } JOptionPane.showMessageDialog(null, "Success")
//Socket Port importClass(Packages.java.io.IOException); importClass(Packages.java.net.Socket); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ //Socket Connection作成 sc = new Socket("http://www.openoffice.org", 80); sIP = sc.getPort(); oDisp = "接続先Port : " + sIP //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "UnknownHostException発生"); } JOptionPane.showMessageDialog(null, "Success")
//Socket Local Host importClass(Packages.java.io.IOException); importClass(Packages.java.net.Socket); importClass(Packages.java.net.UnknownHostException); importClass(Packages.javax.swing.JOptionPane); try{ //Socket Connection作成 sc = new Socket("http://www.openoffice.org", 80); sIP = sc.getLocalAddress(); oDisp = "Local Address : " + sIP //Display JOptionPane.showMessageDialog(null, oDisp); }catch (UnknownHostException){ // 例外処理 JOptionPane.showMessageDialog(null, "UnknownHostException発生"); } JOptionPane.showMessageDialog(null, "Success")
Rhino定義関数
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.org.mozilla.javascript.tools.shell.Global);
s = new Array;
s[0] = "http://openoffice3.web.fc2.com/";
try {
str = Global.readUrl(null, null, s, null);
JOptionPane.showMessageDialog(null, str.substr(0, 100));
} catch(e) {
JOptionPane.showMessageDialog(null, e.toString());
}
XMLHttpRequest()
//XMLHttpRequest
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.org.mozilla.javascript.tools.shell.Global);
// importPackage(java.org.w3c.dom);
//
function XMLHttpRequest() {
this.requestURL = "";
this.responseText = "";
this.readyState = 0;
this.status = 0;
this.open = function(method, url, async) {
if (method != "GET") {
throw new Error("This XMLHttpRequest supports GET method only.");
}
if (async != false) {
throw new Error("This XMLHttpRequest cannot perform asynchronous read.");
}
this.requestURL = url;
this.responseText = "";
this.readyState = 0;
this.status = 0;
}
this.send = function(query) {
var s;
try {
s = readUrl(this.requestURL);// readUrl is Rhino's primitive
this.status = 200;
} catch (e) {
s = "";
this.status = 1;
}
this.responseText = s;
this.requestURL = null;
this.readyState = 4;
}
}
//XMLHttp Object作成
function createXMLHttpRequest(){
var XMLhttpobject = null;
try{
XMLhttpobject = new XMLHttpRequest();
}catch(e){
try{
}catch(e){
try{
XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
return null;
}
}
}
return XMLhttpObject;
}
//
//
try{
JOptionPane.showMessageDialog(null, "success");
}catch(e){
//Error処理
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
Mouse
//mouse importClass(Packages.javax.swing.JOptionPane); importClass(Packages.java.awt.MouseInfo); importClass(Packages.java.awt.PointerInfo); importClass(Packages.org.mozilla.javascript.Context); importClass(Packages.org.mozilla.javascript.Scriptable); try{ ctx = Context.enter(); scope = ctx.initStandardObjects(); pointerInfo = MouseInfo.getPointerInfo(); pos = pointerInfo.getLocation(); JOptionPane.showMessageDialog(null, pos); JOptionPane.showMessageDialog(null, "Success"); }catch(e){ //Error処理 errorname = e.name; errormsg = e.message; eDisp= errorname + "\n" + errormsg; JOptionPane.showMessageDialog(null, eDisp); }
ScriptEngine
//Script Engine importClass(Packages.javax.script.Invocable); importClass(Packages.javax.script.ScriptEngine); importClass(Packages.javax.script.ScriptEngineManager); importClass(Packages.javax.script.ScriptException); // スクリプトエンジンマネージャの生成 manager = new ScriptEngineManager(); // スクリプトエンジンの取得 (JavaScript) engine = manager.getEngineByName("JavaScript"); // スクリプトの評価 engine.eval("print('Hello!!')"); importClass(Packages.javax.swing.JOptionPane); JOptionPane.showMessageDialog(null, "Success");
Tips
[ 入手元 ] 以下のSiteよりExtensionをDL、Install URL : http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOo%2FExt%2FMRI [ 使用例 ] oDoc = XSCRIPTCONTEXT.getDocument(); oDoc.〜 に続くMethods / Properties / Interface を調べる。 [ Sample Code ] importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.beans.XIntrospection); oDoc = XSCRIPTCONTEXT.getDocument(); xContext = XSCRIPTCONTEXT.getComponentContext(); xMCF = xContext.getServiceManager(); oMRI = xMCF.createInstanceWithContext("mytools.Mri", xContext); xIntrospection = UnoRuntime.queryInterface(XIntrospection, oMRI); xIntrospection.inspect(oDoc);
更に MRI Windowに表示されているmethods,propertiesを調べる時(getDrawPagesの場合) getDrawPages をDouble Clickするとそれに対応するコードが表示される。 macroを扱うものにとって余りに素晴らし過ぎる拡張機能である。
<html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title></title> </head> <body> <script type="text/Javascript"><!-- //importClass(Packages.javax.swing.JOptionPane); function LaunchApp() { if (!document.all) { alert ("Available only with Internet Explorer."); return; } var ws = new ActiveXObject("WScript.Shell"); ws.Exec("C:\\WINDOWS\\NOTEPAD.EXE"); } --></script> <form> <Input type="button" value="notepad" ⇒ OnClick="LaunchApp()"> </form> </body> </html>
[ Rhino Shell ] cd \ set CLASSPATH=Down_load/Rhino/rhino1_7R2/js.jar java org.mozilla.javascript.tools.shell.Main [ quit() ] js>quit() [ JavaScript Macro Execute ] java org.mozilla.javascript.tools.shell.Main -f c:\temp\Rhino\OOo_test2.js
[ Rhino Debugger ] cd \ set CLASSPATH=Down_load/Rhino/rhino1_7R2/js.jar java org.mozilla.javascript.tools.debugger.Main
RhinoからOpenOffice.org起動
//Boot from Rhino // コードを実行する前に OOo は次のような引数付きで起動済みです。 // "-accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager" // つまり // "c:/Program Files\OpenOffice.org 3/program/soffice" "-accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager" //とする // importClass(Packages.com.sun.star.uno.XComponentContext); importClass(Packages.com.sun.star.comp.helper.Bootstrap); //importClass(Packages.com.sun.star.lang.XMultiComponentFactory); //importClass(Packages.ooo.connector.BootstrapSocketConnector); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.bridge.XUnoUrlResolver); importClass(Packages.com.sun.star.frame.XComponentLoader); importClass(Packages.com.sun.star.beans.PropertyValue); importClass(Packages.com.sun.star.text.XTextDocument); importClass(Packages.com.sun.star.text.XTextRange); importClass(Packages.javax.swing.JOptionPane); try{ sURL = "uno:socket,host=localhost,port=2083;urp;StarOffice.ComponentContext" oooFolder = "C:/Program Files/OpenOffice.org 3/program/"; // xRemoteContext = BootstrapSocketConnector.bootstrap(oooFolder); xRemoteContext = XSCRIPTCONTEXT.getComponentContext(); xRemoteMcf = xRemoteContext.getServiceManager(); xResolver = UnoRuntime.queryInterface( XUnoUrlResolver, xRemoteMcf.createInstanceWithContext( "com.sun.star.bridge.UnoUrlResolver", xRemoteContext)); context = xResolver.resolve(sURL); if (context != null) { //java.lang.System.out.println("connected."); xContext = UnoRuntime.queryInterface(XComponentContext, context); xMcf = xContext.getServiceManager(); desktop = xMcf.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); xLoader = UnoRuntime.queryInterface(XComponentLoader, desktop); doc = xLoader.loadComponentFromURL("private:factory/swriter", "_blank", 0, new Array()); xTextDoc = UnoRuntime.queryInterface(XTextDocument, doc); xText = xTextDoc.getText(); xTextRange = UnoRuntime.queryInterface(XTextRange, xText); xTextRange.setString("Hello."); } JOptionPane.showMessageDialog(null, "Success"); }catch (e){ JOptionPane.showMessageDialog(null, "Error"); }
//Open new Calc file importClass(Packages.com.sun.star.beans.PropertyValue); importClass(Packages.com.sun.star.comp.helper.Bootstrap); importClass(Packages.com.sun.star.comp.helper.BootstrapException); importClass(Packages.com.sun.star.frame.XComponentLoader); //ActiveSheetの変更Cellの結合Cellの結合 importClass(Packages.com.sun.star.lang.XMultiComponentFactory); importClass(Packages.com.sun.star.uno.Exception); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.uno.XComponentContext); xContext = XSCRIPTCONTEXT.getComponentContext(); // xContext = Bootstrap.bootstrap(); //<= OOo3.1.1以前は動作した。 xMultiComponentFactory = xContext.getServiceManager(); xtest = xMultiComponentFactory.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); xcomponentloader = UnoRuntime.queryInterface(XComponentLoader,xtest); loadURL = "private:factory/scalc"; propertyvalue = new Array(); xcomponentloader.loadComponentFromURL(loadURL, "_blank", 0, propertyvalue);
Sheet操作
//Access to Sheet1 importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.sheet.XSpreadsheet); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0));
importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheets); oDoc = XSCRIPTCONTEXT.getDocument(); xSpreadsheetDocument = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); xSpreadsheets = xSpreadsheetDocument.getSheets(); xIndexAccess = UnoRuntime.queryInterface(XIndexAccess, xSpreadsheets); oSheet0 = xIndexAccess.getByIndex(0); // Current Sheetの変更(Sheet1 ⇒ Sheet2) oSheet1 = xIndexAccess.getByIndex(1); xCellRange1 = UnoRuntime.queryInterface(XCellRange, oSheet1); xCellRange1.getCellByPosition(0, 0).value = 1; xCellRange1.getCellByPosition(0, 1).value = 2; xCellRange1.getCellByPosition(0, 2).formula = "=A1+A2";
Cell操作
//[ Cell ] Set values of cells importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // Cell(A1, B1)への入力(数字) insert(0, 0, 123.456, xSheet, true); insert(1, 0, 789.012, xSheet, true); // Cell(A2)への入力(その他) insert(0, 1, "Hello", xSheet, false); // Cell(A3)への入力(Formuala) insert(0, 2, "=sum(A1:B1", xSheet, false); // [ Function : insert ] //Cellへの入力関数(insert)の定義 function insert(x, y, content, container, isValue){ oCell = container.getCellByPosition(x, y); if(isValue) oCell.setValue(new java.lang.Float(content).floatValue()); else oCell.setFormula(content); }
//[ Cell ] Set values of cells (Case 2) importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheets); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.text.XTextRange); // get document XModel and get specific sheet oDoc = XSCRIPTCONTEXT.getDocument(); xSpreadsheetDocument = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); xSpreadsheets = xSpreadsheetDocument.getSheets(); xIndexAccess = UnoRuntime.queryInterface(XIndexAccess, xSpreadsheets); oSheet = xIndexAccess.getByIndex(0); // Cellへの入力 xCellRange = UnoRuntime.queryInterface(XCellRange, oSheet); xCellRange.getCellByPosition(0, 0).value = 1; xCellRange.getCellByPosition(0, 1).value = 2; xCellRange.getCellByPosition(0, 2).formula = "Sccess"; //←文字列入力 xCellRange.getCellByPosition(0, 3).formula = "=A1+A2"; // ←式入力
//[ Cell ] Get values of Cells importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // Cell(A1,A2)を取得 oCell =new Array(); for(i=0; i<=1; i++){ oCell_all = xSheet.getCellByPosition(0, i); oCell[i] = oCell_all.getValue(); if(oCell[i] != ""){ oCell[i] = oCell_all.getValue(); }else{ oCell[i] = oCell_all.getFormula(); } }
//[ Cell ] Select Range importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.beans.XPropertySet); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // Cell範囲の選択(cells 0/0 to 3/3 = A1:C4) cellRange = xSheet.getCellRangeByPosition(0, 0, 3, 3);
//[ Cell ] Set value(2) importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // 計算(数字)10行10列 for(i=0; i<10; i++) { for(j=0; j<10; j++) insert(i, j, i*j, xSheet, true); } // 計算(数式(B10セル)&text(C10セル)) insert(1, 10, "=SUM(B1:B10)", xSheet, false); // Second, insert a text string insert(2, 10, "-> This is the sum!", xSheet, false); // 空白Cell以外(A1〜A3)の数値の平均: // (1) Insert dummy data insert(0, 0, 5.2, xSheet, true); insert(0, 2, 2.3, xSheet, true); // (2) Calculate and print average result = avgNonEmpty(0, 0, 0, 2, xSheet); insert(0, 3, result, xSheet, true); // (3) Insert some labels insert(1, 1, "<- Remains empty", xSheet, false); insert(1, 3, "<- The average", xSheet, false); // [ Function : insert ] //Cellへの入力関数(insert)の定義 function insert(x, y, content, container, isValue) { oCell = container.getCellByPosition(x, y); if(isValue) oCell.setValue(new java.lang.Float(content).floatValue()); else oCell.setFormula(content); } // [ Function : avgNonEmpty ] //空白Cell以外の数値の平均関数(avgNonEmpty)の定義 function avgNonEmpty(fromx, fromy, tox, toy, container) { sum = 0.0; fieldCount = 0; for(i=fromx; i<=tox; i++) { for(j=fromy; j<=toy; j++) { currentCell = container.getCellByPosition(i, j); currentValue = currentCell.getValue(); if(currentValue != "") { sum += currentValue; fieldCount++; }}} if(fieldCount > 0) return (sum/fieldCount); else return 0; }
//Cellの結合 importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheets); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.container.XIndexAccess); // get document XModel and get specific sheet oDoc = XSCRIPTCONTEXT.getDocument(); xSpreadsheetDocument = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); xSpreadsheets = xSpreadsheetDocument.getSheets(); xIndexAccess = UnoRuntime.queryInterface(XIndexAccess, xSpreadsheets); oSheet = xIndexAccess.getByIndex(1); // Cellへの入力 xCellRange = UnoRuntime.queryInterface(XCellRange, oSheet); // Merge importClass(Packages.com.sun.star.util.XMergeable); xMerge=UnoRuntime.queryInterface(XMergeable, oMergeRange); oMergeRange=xCellRange.getCellRangeByName( "B2:D5" ); oMergeRange=xCellRange.getCellRangeByPosition( 1,4,1,5 ); xMerge.merge(true);
//[ Cell ] Cear of cells importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheets); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.text.XTextRange); importClass(Packages.com.sun.star.sheet.XSheetOperation); // get document XModel and get specific sheet oDoc = XSCRIPTCONTEXT.getDocument(); xSpreadsheetDocument = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); xSpreadsheets = xSpreadsheetDocument.getSheets(); xIndexAccess = UnoRuntime.queryInterface(XIndexAccess, xSpreadsheets); oSheet = xIndexAccess.getByIndex(1); // Cellへの入力 xCellRange = UnoRuntime.queryInterface(XCellRange, oSheet); xCellRange.getCellByPosition(0, 0).value = 1; xCellRange.getCellByPosition(0, 1).value = 2; xCellRange.getCellByPosition(0, 2).formula = "Sccess"; //←文字列入力 xCellRange.getCellByPosition(0, 3).formula = "=A1+A2"; // ←式入力 // A1 CellをClear xCell=UnoRuntime.queryInterface(XSheetOperation,xCellRange.getCellByPosition(0,0)) xCell.clearContents(1+2+4+8+16+32+64+128+256+512) // importClass(Packages.javax.swing.JOptionPane); JOptionPane.showMessageDialog(null, "Success"); // CellFlags // 1 : VALUE // 2 : DATETIME // 4 : STRING // 8 : ANNOTATION // 16 : FORMULA // 32 : HARDATTR // 64 : STYLES // 128 : OBJECTS // 256 : EDITATTR // 512 : FORMATTED
//[ Cell ] Insert of cells importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheets); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.container.XIndexAccess); // get document XModel and get specific sheet oDoc = XSCRIPTCONTEXT.getDocument(); xSpreadsheetDocument = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); xSpreadsheets = xSpreadsheetDocument.getSheets(); xIndexAccess = UnoRuntime.queryInterface(XIndexAccess, xSpreadsheets); oSheet = xIndexAccess.getByIndex(1); // Cellへの入力 xCellRange = UnoRuntime.queryInterface(XCellRange, oSheet); xCellRange.getCellByPosition(0, 0).value = 1; xCellRange.getCellByPosition(0, 1).value = 2; xCellRange.getCellByPosition(0, 2).formula = "Sccess"; //←文字列入力 xCellRange.getCellByPosition(0, 3).formula = "=A1+A2"; // ←式入力 // A1 Cell Copy importClass(Packages.com.sun.star.sheet.XCellRangeMovement); importClass(Packages.com.sun.star.sheet.CellInsertMode); xinterface=UnoRuntime.queryInterface(XCellRangeMovement, xCellRange); icell = xCellRange.getCellByPosition(0, 0); xinterface.insertCells(icell,DOWN) // Hello World in JavaScript importClass(Packages.javax.swing.JOptionPane); JOptionPane.showMessageDialog(null, "Success");
Address
// get address for active cell importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.frame.XModel); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.com.sun.star.sheet.XCellRangeAddressable);brbr importClass(Packages.com.sun.star.awt.XWindowPeer); importClass(Packages.com.sun.star.awt.XWindow); importClass(Packages.com.sun.star.awt.XMessageBoxFactory); importClass(Packages.com.sun.star.awt.Rectangle); // shows message in the message box function showMessage(xDesktop, message) { xFrame = xDesktop.getCurrentFrame(); xWindow = xFrame.getContainerWindow(); xWindowPeer = UnoRuntime.queryInterface(XWindowPeer, xWindow); xToolkit = xWindowPeer.getToolkit(); xMessageboxFactory = UnoRuntime.queryInterface(XMessageBoxFactory, xToolkit); xMessageBox = xMessageboxFactory.createMessageBox(xWindowPeer, new Rectangle(), 'messbox', 1, "", message); return xMessageBox.execute(); } oDoc = UnoRuntime.queryInterface(XModel,XSCRIPTCONTEXT.getInvocationContext()); if ( !oDoc ) oDoc = XSCRIPTCONTEXT.getDocument(); xModel = UnoRuntime.queryInterface(XModel, oDoc); obj = xModel.getCurrentSelection(); xServiceInfo = UnoRuntime.queryInterface(XServiceInfo, obj); if (xServiceInfo != null) { xCellRange = null; if (xServiceInfo.supportsService("com.sun.star.sheet.SheetCellRange")) { xCellRangeAddressable = UnoRuntime.queryInterface(XCellRangeAddressable, obj); aRangeAddress = xCellRangeAddressable.getRangeAddress(); result = "Column: " + aRangeAddress.EndColumn + "\n" + "Row: " + aRangeAddress.EndRow; showMessage(XSCRIPTCONTEXT.getDesktop(), result); } }
importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.frame.XModel); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.com.sun.star.sheet.XCellRangeAddressable); importClass(Packages.com.sun.star.awt.XWindowPeer); importClass(Packages.com.sun.star.awt.XWindow); importClass(Packages.com.sun.star.awt.XMessageBoxFactory); importClass(Packages.com.sun.star.awt.Rectangle); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.table.XColumnRowRange); importClass(Packages.com.sun.star.table.XTableColumns); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheets); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.sheet.XSheetCellRanges); importClass(Packages.com.sun.star.sheet.CellFlags); importClass(Packages.com.sun.star.sheet.XCellRangesQuery); // shows message in the message box function showMessage(xDesktop, message) { xFrame = xDesktop.getCurrentFrame(); xWindow = xFrame.getContainerWindow(); xWindowPeer = UnoRuntime.queryInterface(XWindowPeer, xWindow); xToolkit = xWindowPeer.getToolkit(); xMessageboxFactory = UnoRuntime.queryInterface(XMessageBoxFactory, xToolkit); xMessageBox = xMessageboxFactory.createMessageBox(xWindowPeer, new Rectangle(), 'messbox', 1, "", message); return xMessageBox.execute(); } // column index to find its last row index nColumn = 3; nSheet = 0; // content flags nFlags = CellFlags.VALUE + CellFlags.DATETIME + CellFlags.STRING + CellFlags.ANNOTATION + CellFlags.FORMULA + CellFlags.HARDATTR + CellFlags.STYLES + CellFlags.OBJECTS + CellFlags.EDITATTR + CellFlags.FORMATTED; oDoc = UnoRuntime.queryInterface(XModel,XSCRIPTCONTEXT.getInvocationContext()); if ( !oDoc ) oDoc = XSCRIPTCONTEXT.getDocument(); // get sheets xSpreadsheetDocument = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); xSpreadsheets = xSpreadsheetDocument.getSheets(); xIndexAccess = UnoRuntime.queryInterface(XIndexAccess, xSpreadsheets); xSpreadsheet = UnoRuntime.queryInterface(XSpreadsheet, xIndexAccess.getByIndex(nSheet)); // get cellrange including entire column specified by the column index xColumnRowRange = UnoRuntime.queryInterface(XColumnRowRange, xSpreadsheet); xTableColumns = xColumnRowRange.getColumns(); xIndexAccess_2 = UnoRuntime.queryInterface(XIndexAccess, xTableColumns); xCellRange = UnoRuntime.queryInterface(XCellRange, xIndexAccess_2.getByIndex(nColumn)); // get list of used cell xCellRangesQuery = UnoRuntime.queryInterface(XCellRangesQuery, xCellRange); xSheetCellRanges = xCellRangesQuery.queryContentCells(nFlags); n = 0 addresses = xSheetCellRanges.getRangeAddresses(); // find biggest row index for (i = 0; i < xSheetCellRanges.getCount(); i++) { address = addresses[i]; if (n < address.EndRow) { n = address.EndRow; } } showMessage(XSCRIPTCONTEXT.getDesktop(), "index of used last row: " + n);
HyperLink
importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.frame.XModel); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheets); importClass(Packages.com.sun.star.sheet.XSheetCellRanges); importClass(Packages.com.sun.star.sheet.XCellRangesAccess); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.text.XText); importClass(Packages.com.sun.star.text.XTextContent); importClass(Packages.com.sun.star.text.XSimpleText); importClass(Packages.com.sun.star.text.XTextCursor); oDoc = UnoRuntime.queryInterface(XModel,XSCRIPTCONTEXT.getInvocationContext()); if ( !oDoc ) oDoc = XSCRIPTCONTEXT.getDocument(); xMultiServiceFactory = UnoRuntime.queryInterface(XMultiServiceFactory, oDoc); // get cell xSpreadsheetDocument = UnoRuntime.queryInterface(XSpreadsheetDocument, oDoc); xSpreadsheets = xSpreadsheetDocument.getSheets(); xCellRangesAccess = UnoRuntime.queryInterface(XCellRangesAccess, xSpreadsheets); xCell = xCellRangesAccess.getCellByPosition(0, 0, 0); // create new link field field = xMultiServiceFactory.createInstance("com.sun.star.text.textfield.URL"); xPropSet = UnoRuntime.queryInterface(XPropertySet, field); xPropSet.setPropertyValue("URL", "http://oooug.jp/faq/index.php?faq/5/422"); xPropSet.setPropertyValue("Representation", "Link..."); xText = UnoRuntime.queryInterface(XText, xCell); xSimpleText = UnoRuntime.queryInterface(XSimpleText, xCell); xTextCursor = xSimpleText.createTextCursor(); // insert field into the cell xText.insertTextContent(xTextCursor, UnoRuntime.queryInterface(XTextContent, field), true);
Style
//[ Cell ] Backcolor of Cells importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.beans.XPropertySet); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // Cell(A1,A2)を取得 oCell =new Array(); for(i=0; i<=1; i++){ oCell_all = xSheet.getCellByPosition(0, i); //Cellの背景 oCellProperties1 =UnoRuntime.queryInterface(XPropertySet, oCell_all); oCellProperties1.setPropertyValue("IsCellBackgroundTransparent", new java.lang.Boolean(false)); oCellProperties1.setPropertyValue("CellBackColor", new java.lang.Integer(16309472)); // = hex f8dce0 }
//[ Cell ] Charactor Color of Cells importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.beans.XPropertySet); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // Cell(A1,A2)を取得 oCell =new Array(); for(i=0; i<=1; i++){ oCell_all = xSheet.getCellByPosition(0, i); //文字色 oCellProperties1 =UnoRuntime.queryInterface(XPropertySet, oCell_all); oCellProperties1.setPropertyValue("CharColor", new java.lang.Integer(16777215)); // = hex FF FF FF ( = White) }
//[ Cell ] Add Cell Style importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.style.XStyleFamiliesSupplier); importClass(Packages.com.sun.star.container.XNameAccess); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.container.XNameContainer); importClass(Packages.com.sun.star.beans.XPropertySet); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // CellのStyle設定 xStyleFamiliesSupplier =UnoRuntime.queryInterface(XStyleFamiliesSupplier, xDocument); xStyleFamilies = xStyleFamiliesSupplier.getStyleFamilies(); //任意の名前にてAccess出来る様にする xCellStyles =UnoRuntime.queryInterface(XNameAccess, xStyleFamilies.getByName("CellStyles")); xDocumentMultiServiceFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDocument); oStyleFamilyNameContainer =UnoRuntime.queryInterface(XNameContainer, xCellStyles); //Style Name設定 style = xDocumentMultiServiceFactory.createInstance("com.sun.star.style.CellStyle"); oStyleFamilyNameContainer.insertByName("MyStyle", style); //Cell Style設定 oCellProperties1 =UnoRuntime.queryInterface(XPropertySet, style); //Cellの背景 oCellProperties1.setPropertyValue("IsCellBackgroundTransparent", new java.lang.Boolean(false)); oCellProperties1.setPropertyValue("CellBackColor", new java.lang.Integer(6710932)); // = hex 66 66 94 //文字色設定 oCellProperties1.setPropertyValue("CharColor", new java.lang.Integer(16777215)); // = hex FF FF FF ( = White) [ Note ] : 同名のStyleが存在する場合は上書きされる。
//[ Cell ] Set Style of the Range importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.style.XStyleFamiliesSupplier); importClass(Packages.com.sun.star.container.XNameAccess); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.container.XNameContainer); importClass(Packages.com.sun.star.beans.XPropertySet); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // 指定範囲のStyle設定 xStyleFamiliesSupplier =UnoRuntime.queryInterface(XStyleFamiliesSupplier, xDocument); xStyleFamilies = xStyleFamiliesSupplier.getStyleFamilies(); xCellStyles =UnoRuntime.queryInterface(XNameAccess, xStyleFamilies.getByName("CellStyles")); xDocumentMultiServiceFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDocument); oStyleFamilyNameContainer =UnoRuntime.queryInterface(XNameContainer, xCellStyles); style = xDocumentMultiServiceFactory.createInstance("com.sun.star.style.CellStyle"); oStyleFamilyNameContainer.insertByName("MyStyle", style); oCellProperties1 =UnoRuntime.queryInterface(XPropertySet, style); oCellProperties1.setPropertyValue("IsCellBackgroundTransparent", new java.lang.Boolean(false)); oCellProperties1.setPropertyValue("CellBackColor", new java.lang.Integer(16309472)); // = hex f8dce0 oCellProperties1 =UnoRuntime.queryInterface(XPropertySet, oCell_all); oCellProperties1.setPropertyValue("CharColor", new java.lang.Integer(16777215)); // = hex FF FF FF ( = White) cellRange = xSheet.getCellRangeByPosition(0, 0, 3, 3); // get existing properties of cells in range cellProperties =UnoRuntime.queryInterface(XPropertySet, cellRange); // redefine properties of cells in range cellProperties.setPropertyValue("CellStyle", "MyStyle");
Graph Chart作成
//[ Chart ] Simple Diagram importClass(Packages.javax.swing.JOptionPane); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.sheet.XCellRangeAddressable); importClass(Packages.com.sun.star.table.CellRangeAddress); importClass(Packages.com.sun.star.table.XTableChartsSupplier); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(1)); // [ Graph Data ] for(i=0; i<5; i++) { for(j=0; j<4; j++) insert(i, j, i+j, xSheet, true); } // Graph枠の作成 oRect = new Packages.com.sun.star.awt.Rectangle(); oRect.X = 500; oRect.Y = 3000; oRect.Width = 25000; oRect.Height = 11000; // Graph Dataの取得 oRange =UnoRuntime.queryInterface(XCellRange, xSheet); myRange = oRange.getCellRangeByName("A1:E4"); oRangeAddr =UnoRuntime.queryInterface(XCellRangeAddressable, myRange); myAddr = oRangeAddr.getRangeAddress() // 新規Grahの作成&Data Rangeの指定 cellRangeAddressName = myAddr.CellRangeAddress oAddr = new Array(); oAddr[0] = myAddr; // Graph描画start. Graph Name 「example」とする oSupp =UnoRuntime.queryInterface(XTableChartsSupplier, xSheet); oCharts = oSupp.getCharts(); oCharts.addNewByName("Example", oRect, oAddr, true, true); JOptionPane.showMessageDialog(null, "Success"); // [ Function : insert ] //Cellへの入力関数(insert)の定義 function insert(x, y, content, container, isValue) { oCell = container.getCellByPosition(x, y); if(isValue) oCell.setValue(new java.lang.Float(content).floatValue()); else oCell.setFormula(content); }
//[ Chart ] 3D Diagram importClass(Packages.javax.swing.JOptionPane); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.sheet.XSpreadsheetDocument); importClass(Packages.com.sun.star.sheet.XSpreadsheet); importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.sheet.XCellRangeAddressable); importClass(Packages.com.sun.star.table.CellRangeAddress); importClass(Packages.com.sun.star.table.XTableChartsSupplier); importClass(Packages.com.sun.star.table.XTableChart); importClass(Packages.com.sun.star.chart.XChartDocument); importClass(Packages.com.sun.star.document.XEmbeddedObjectSupplier); loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); xSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // [ Graph Data ] for(i=0; i<5; i++) { for(j=0; j<4; j++) insert(i, j, i+j+1, xSheet, true); } // Graph枠の作成 oRect = new Packages.com.sun.star.awt.Rectangle(); oRect.X = 500; oRect.Y = 3000; oRect.Width = 10000; oRect.Height = 5000; // Graph Dataの取得 oRange =UnoRuntime.queryInterface(XCellRange, xSheet); myRange = oRange.getCellRangeByName("A1:E4"); oRangeAddr =UnoRuntime.queryInterface(XCellRangeAddressable, myRange); myAddr = oRangeAddr.getRangeAddress() // 新規Grahの作成&Data Rangeの指定 cellRangeAddressName = myAddr.CellRangeAddress oAddr = new Array(); oAddr[0] = myAddr; // Graph描画start. Graph Name 「example」とする oSupp =UnoRuntime.queryInterface(XTableChartsSupplier, xSheet); oCharts = oSupp.getCharts(); oCharts.addNewByName("Example", oRect, oAddr, true, true); // Graph属性設定 tempName =UnoRuntime.queryInterface(XNameAccess, oCharts).getByName("Example"); oChart =UnoRuntime.queryInterface(XTableChart, tempName); oEOS =UnoRuntime.queryInterface(XEmbeddedObjectSupplier,oChart); oInt = oEOS.getEmbeddedObject(); xChart =UnoRuntime.queryInterface(XChartDocument, oInt); oDiag = xChart.getDiagram(); // 3-Dへ変更 oCPS =UnoRuntime.queryInterface(XPropertySet, oDiag); oCPS.setPropertyValue("Dim3D", new java.lang.Boolean(true)); JOptionPane.showMessageDialog(null, "Success"); // [ Function : insert ] //Cellへの入力関数(insert)の定義 function insert(x, y, content, container, isValue) { oCell = container.getCellByPosition(x, y); if(isValue) oCell.setValue(new java.lang.Float(content).floatValue()); else oCell.setFormula(content); }
//Open new Base file importClass(Packages.com.sun.star.beans.PropertyValue); importClass(Packages.com.sun.star.comp.helper.Bootstrap); importClass(Packages.com.sun.star.comp.helper.BootstrapException); importClass(Packages.com.sun.star.frame.XComponentLoader); importClass(Packages.com.sun.star.lang.XMultiComponentFactory); importClass(Packages.com.sun.star.uno.Exception); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.uno.XComponentContext); xContext = XSCRIPTCONTEXT.getComponentContext(); // xContext = Bootstrap.bootstrap(); //<= OOo3.1.1以前は動作した。 xMultiComponentFactory = xContext.getServiceManager(); xtest = xMultiComponentFactory.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); xcomponentloader = UnoRuntime.queryInterface(XComponentLoader,xtest); loadURL = "private:factory/sdatabase"; propertyvalue = new Array(); xcomponentloader.loadComponentFromURL(loadURL, "_blank", 0, propertyvalue);
file操作
//Open new Writer file importClass(Packages.com.sun.star.beans.PropertyValue); importClass(Packages.com.sun.star.comp.helper.Bootstrap); importClass(Packages.com.sun.star.comp.helper.BootstrapException); importClass(Packages.com.sun.star.frame.XComponentLoader); importClass(Packages.com.sun.star.lang.XMultiComponentFactory); importClass(Packages.com.sun.star.uno.Exception); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.uno.XComponentContext); xContext = XSCRIPTCONTEXT.getComponentContext(); // xContext = Bootstrap.bootstrap(); //<= OOo3.1.1以前は動作した。 xMultiComponentFactory = xContext.getServiceManager(); xtest = xMultiComponentFactory.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); xcomponentloader = UnoRuntime.queryInterface(XComponentLoader,xtest); loadURL = "private:factory/swriter"; propertyvalue = new Array(); xcomponentloader.loadComponentFromURL(loadURL, "_blank", 0, propertyvalue);
文書入力
// Hello World in JavaScript importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.text.XTextDocument); importClass(Packages.com.sun.star.text.XTextRange); // DocumentへのAccessを可能にする oDoc = XSCRIPTCONTEXT.getDocument(); xTextDoc = UnoRuntime.queryInterface(XTextDocument,oDoc); xText = xTextDoc.getText(); //選択範囲があればその範囲を取得 xTextRange = xText.getEnd(); xTextRange.setString( "Hello World in JavaScript" );
Style
/ [ Writer Style ] Color of Chractors importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.text.XTextDocument); importClass(Packages.com.sun.star.text.XTextRange); // importClass(Packages.com.sun.star.container.XIndexAccess); importClass(Packages.com.sun.star.beans.XPropertySet); oDoc = XSCRIPTCONTEXT.getDocument(); xTextDoc = UnoRuntime.queryInterface(XTextDocument,oDoc); xText = xTextDoc.getText(); xTextRange = xText.getEnd(); // Color oChrProperties1 =UnoRuntime.queryInterface(XPropertySet, xTextRange); oChrProperties1.setPropertyValue("CharColor", new java.lang.Integer(16309472))
file操作
//Open new Draw file importClass(Packages.com.sun.star.beans.PropertyValue); importClass(Packages.com.sun.star.comp.helper.Bootstrap); importClass(Packages.com.sun.star.comp.helper.BootstrapException); importClass(Packages.com.sun.star.frame.XComponentLoader); importClass(Packages.com.sun.star.lang.XMultiComponentFactory); importClass(Packages.com.sun.star.uno.Exception); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.uno.XComponentContext); xContext = XSCRIPTCONTEXT.getComponentContext(); // xContext = Bootstrap.bootstrap(); //<= OOo3.1.1以前は動作した。 xMultiComponentFactory = xContext.getServiceManager(); xtest = xMultiComponentFactory.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); xcomponentloader = UnoRuntime.queryInterface(XComponentLoader,xtest); loadURL = "private:factory/sdraw"; propertyvalue = new Array(); xcomponentloader.loadComponentFromURL(loadURL, "_blank", 0, propertyvalue);
Page操作
//Access the Page importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); //Draw Document Page1へのAccess loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage);
//Insert Page importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); //Draw Document loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); //Insert Page for(i=0; i<3; i++) { xDrawPages.insertNewByIndex(0); }
//Remove Page importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); //Draw Document loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); //Insert Page xDrawPages.insertNewByIndex(0); //Remove Page xRemPage =UnoRuntime.queryInterface(XDrawPage, xDrawPages.getByIndex(0)); xDrawPages.remove(xRemPage)
/Named Slide importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.container.XNamed); //Draw Document loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); //Insert Slide xDrawPages.insertNewByIndex(0); //Set Name xPage =UnoRuntime.queryInterface(XDrawPage,xDrawPages.getByIndex(0)); xPageName =UnoRuntime.queryInterface(XNamed, xPage); xPageName.setName("page one"); //Get Page Name oPageName = xPageName.getName() //Confirm Page Name importClass(Packages.javax.swing.JOptionPane); JOptionPane.showMessageDialog(null, oPageName);
//Count Slide importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); //Draw Document loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); //Slide数Count var oCount=xDrawPages.getCount() JOptionPane.showMessageDialog(null, oCount + "枚");
図形作図
//Create Shapes importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(3000, 3000)); xDrawPage.add(RxShape); //Caption Cp_shape =xDocumentFactory.createInstance("com.sun.star.drawing.CaptionShape"); CpxShape =UnoRuntime.queryInterface(XShape, Cp_shape); CpxShape.setPosition(new Point(5000, 6000)); CpxShape.setSize(new Size(3000, 3000)); xDrawPage.add(CpxShape); //EllipseShape Ep_shape =xDocumentFactory.createInstance("com.sun.star.drawing.EllipseShape"); EpxShape =UnoRuntime.queryInterface(XShape, Ep_shape); EpxShape.setPosition(new Point(2000, 15500)); EpxShape.setSize(new Size(2000, 2000)); xDrawPage.add(EpxShape); //Line Li_shape =xDocumentFactory.createInstance("com.sun.star.drawing.LineShape"); LixShape =UnoRuntime.queryInterface(XShape, Li_shape); LixShape.setPosition(new Point(10000, 4000)); LixShape.setSize(new Size(2000, 2000)); xDrawPage.add(LixShape);
//Add Text into Shapes importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.text.XText); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(5000, 3000)); xDrawPage.add(RxShape); //Add Text oText_Chr = new Array(); oText_Chr[0] = "Macro in JavaScript"; oText =UnoRuntime.queryInterface(XText, RxShape); oText.setString(oText_Chr[0]);
Style
[ Color ]//Background and Line Color for Element. importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); xShape =UnoRuntime.queryInterface(XShape, shape); xShape.setPosition(new Point(3000, 3000)); xShape.setSize(new Size(10000, 10000)); //Color oChrProperties1 =UnoRuntime.queryInterface(XPropertySet, xShape); //Background oChrProperties1.setPropertyValue("FillColor", new java.lang.Integer(16309472)); //Line oChrProperties1.setPropertyValue("LineColor", new java.lang.Integer(255000000)); xDrawPage.add(xShape);
//Change Text Color for Element. importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.text.XText); loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); xShape =UnoRuntime.queryInterface(XShape, shape); xShape.setPosition(new Point(3000, 3000)); xShape.setSize(new Size(10000, 10000)); //Color oChrProperties1 =UnoRuntime.queryInterface(XPropertySet, xShape); //Background oChrProperties1.setPropertyValue("FillColor", new java.lang.Integer(16309472)); //Line oChrProperties1.setPropertyValue("LineColor", new java.lang.Integer(255000000)); xDrawPage.add(xShape); //Add Text oText_Chr = new Array(); oText_Chr[0] = "Macro in JavaScript"; oText =UnoRuntime.queryInterface(XText, xShape); oText.setString(oText_Chr[0]); //Change Text Color oChrProperties1.setPropertyValue("CharColor", new java.lang.Integer(255000000)); //To be after setting text. [ Note ] : If you insert color change code before setting text, it dose not change color
//Hatching importPackage(java.lang); importClass(Packages.javax.swing.JOptionPane); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.drawing.FillProperties); try{ xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(3000, 3000)); //Color of Hatch xShapeProp =UnoRuntime.queryInterface(XMultiServiceFactory, R_shape); oHatchProp =UnoRuntime.queryInterface(FillProperties, xShapeProp); oHatchProp.setPropertyValue("FillStyle", "HATCH"); oHatchProp.setPropertyValue("HatchStyle","SINGLE"); oHatchProp.setPropertyValue("Color", new java.lang.Integer(2554848)); oHatchProp.setPropertyValue("Distance", new java.lang.Integer(1000)); // unit : 1/100mm oHatchProp.setPropertyValue("Angle", new java.lang.Integer(450)); // unit : 1/10 degree xDrawPage.add(RxShape); JOptionPane.showMessageDialog(null, "Success"); }catch(e){ //Error処理 errorname = e.name; errormsg = e.message; eDisp= errorname + "\n" + errormsg; JOptionPane.showMessageDialog(null, eDisp); }
Connector
//Add Connectors importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); //Rectangle1 R1_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); R1xShape =UnoRuntime.queryInterface(XShape, R1_shape); R1xShape.setPosition(new Point(2000, 2000)); R1xShape.setSize(new Size(3000, 3000)); xDrawPage.add(R1xShape); //Rectangle2 R2_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); R2xShape =UnoRuntime.queryInterface(XShape, R2_shape); R2xShape.setPosition(new Point(12000, 5000)); R2xShape.setSize(new Size(3000, 3000)); xDrawPage.add(R2xShape); // Connector connector = xDocumentFactory.createInstance("com.sun.star.drawing.ConnectorShape"); xConnector =UnoRuntime.queryInterface(XShape, connector); xDrawPage.add(xConnector); //Point from start to end xConnectorProps =UnoRuntime.queryInterface(XPropertySet, connector); xConnectorProps.setPropertyValue("StartShape", R1xShape); xConnectorProps.setPropertyValue("EndShape", R2xShape); //Glue point positions: 0=top 1=right 2=bottom 3=left xConnectorProps.setPropertyValue("StartGluePointIndex", new java.lang.Integer(1)); xConnectorProps.setPropertyValue("EndGluePointIndex", new java.lang.Integer(3));
//Add Connectors(2) importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); loadProps = new Array(); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); //kaisou set orgUnits = new Array(2);//階層数 orgUnits[0] = new Array("Level 0"); // level 0 orgUnits[1] = new Array("Level 1L", "Level 1R"); // level 1 levelCount = new Array(1, 3); //階層数(Array(level0,level1)) //Initial set xStartShape = null; // xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); // // Creating and adding RectangleShapes for(level=0; level <= 1; level++) { for(i = levelCount[level] - 1; i > -1; i--) { shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); xShape =UnoRuntime.queryInterface(XShape, shape); xShape.setPosition(new Point(3000+(i*4000), 3000+level*6000)); xShape.setSize(new Size(3000, 2000)); //Element Draw xDrawPage.add(xShape); // Memorize the root shape, for connectors if(level == 0 && i == 0) { xStartShape = xShape; } //Connectors // Add connectors for level 1 if(level == 1) { connector = xDocumentFactory.createInstance("com.sun.star.drawing.ConnectorShape"); xConnector =UnoRuntime.queryInterface(XShape, connector); xDrawPage.add(xConnector); //Point from start to end xConnectorProps =UnoRuntime.queryInterface(XPropertySet, connector); xConnectorProps.setPropertyValue("StartShape", xStartShape); xConnectorProps.setPropertyValue("EndShape", xShape); //Glue point positions: 0=top 1=right 2=bottom 3=left xConnectorProps.setPropertyValue("StartGluePointIndex", new java.lang.Integer(2)); xConnectorProps.setPropertyValue("EndGluePointIndex", new java.lang.Integer(0)); } } }
その他
//Create Level Element. importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); xDrawComponent = XSCRIPTCONTEXT.getDocument(); xDrawPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xDrawComponent); xDrawPages = xDrawPagesSupplier.getDrawPages(); drawPage = xDrawPages.getByIndex(0); xDrawPage =UnoRuntime.queryInterface(XDrawPage, drawPage); //kaisou set orgUnits = new Array(2);//階層数 orgUnits[0] = new Array("Level 0"); // level 0 orgUnits[1] = new Array("Level 1L", "Level 1R"); // level 1 levelCount = new Array(1, 2); //階層数(Array(level0,level1)) // xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xDrawComponent); // // Creating and adding RectangleShapes for(level=0; level <= 1; level++) { for(i = levelCount[level] - 1; i > -1; i--) { shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); xShape =UnoRuntime.queryInterface(XShape, shape); xShape.setPosition(new Point(3000+(i*4000), 3000+level*6000)); xShape.setSize(new Size(3000, 2000)); //Element Draw xDrawPage.add(xShape); } }
file操作
//Open new Impress file importClass(Packages.com.sun.star.beans.PropertyValue); importClass(Packages.com.sun.star.comp.helper.Bootstrap); importClass(Packages.com.sun.star.comp.helper.BootstrapException); importClass(Packages.com.sun.star.frame.XComponentLoader); importClass(Packages.com.sun.star.lang.XMultiComponentFactory); importClass(Packages.com.sun.star.uno.Exception); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.uno.XComponentContext); xContext = XSCRIPTCONTEXT.getComponentContext(); // xContext = Bootstrap.bootstrap(); //<= OOo3.1.1以前は動作した。 xMultiComponentFactory = xContext.getServiceManager(); xtest = xMultiComponentFactory.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); xcomponentloader = UnoRuntime.queryInterface(XComponentLoader,xtest); loadURL = "private:factory/simpress"; propertyvalue = new Array(); xcomponentloader.loadComponentFromURL(loadURL, "_blank", 0, propertyvalue);
Page操作
//Access the Page importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); //Impress Document Page1へのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage);
//Add the Pages importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); //Impress DocumentへのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); //Insert Page for(i=0; i<3; i++) { xImpPages.insertNewByIndex(0); }
//Remove the Page importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); // Thisline is important. importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); //Count Pages var oCountPage = xImpPages.getCount() //Remove Page if( oCountPage <= 1 ) { JOptionPane.showMessageDialog("Message", "Master Pageは削除できません。(2page以上のFileを選択)"); }else{ xRemPage =UnoRuntime.queryInterface(XDrawPage, xImpPages.getByIndex(0)); xImpPages.remove(xRemPage); }
//Named the Page importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); // Thisline is important. importClass(Packages.com.sun.star.container.XNamed); importClass(Packages.javax.swing.JOptionPane); //Impress Document loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); //Set Name for page 1 xPage =UnoRuntime.queryInterface(XDrawPage,xImpPages.getByIndex(0)); xPageName =UnoRuntime.queryInterface(XNamed, xPage); xPageName.setName("page one"); //Get Page Name oPageName = xPageName.getName() //Confirm Page Name JOptionPane.showMessageDialog(null, oPageName);
//Count the Pages importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); //Count Pages var oCountPage = xImpPages.getCount() //Confirm count JOptionPane.showMessageDialog(null, oCountPage + "枚");
//The way to show the Screen. importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // page1のPage情報取得 xPageInfo =UnoRuntime.queryInterface( XServiceInfo, xImpressPage ); oPInfo = xPageInfo.getText(); JOptionPane.showMessageDialog(null, xPageInfo);
図形
//Create Shapes importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); //Impress Document Page1へのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(3000, 3000)); xImpressPage.add(RxShape); //Caption Cp_shape =xDocumentFactory.createInstance("com.sun.star.drawing.CaptionShape"); CpxShape =UnoRuntime.queryInterface(XShape, Cp_shape); CpxShape.setPosition(new Point(5000, 6000)); CpxShape.setSize(new Size(3000, 3000)); xImpressPage.add(CpxShape); //EllipseShape Ep_shape =xDocumentFactory.createInstance("com.sun.star.drawing.EllipseShape"); EpxShape =UnoRuntime.queryInterface(XShape, Ep_shape); EpxShape.setPosition(new Point(2000, 15500)); EpxShape.setSize(new Size(2000, 2000)); xImpressPage.add(EpxShape); //Line Li_shape =xDocumentFactory.createInstance("com.sun.star.drawing.LineShape"); LixShape =UnoRuntime.queryInterface(XShape, Li_shape); LixShape.setPosition(new Point(10000, 4000)); LixShape.setSize(new Size(2000, 2000)); xImpressPage.add(LixShape);
//Add Text into Shapes importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.text.XText); //Impress Document Page1へのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(6000, 3000)); xImpressPage.add(RxShape); //Add Text oText_Chr = new Array(); oText_Chr[0] = "Macro in JavaScript"; oText =UnoRuntime.queryInterface(XText, RxShape); oText.setString(oText_Chr[0]);
//Add Text into Shapes(No.2) importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.presentation.AnimationEffect); importClass(Packages.com.sun.star.text.XText); importClass(Packages.com.sun.star.text.XTextRange); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(8000, 3000)); xImpressPage.add(RxShape); //Add Text xText =UnoRuntime.queryInterface(XText, RxShape); xTextCursor = xText.createTextCursor(); xTextRange =UnoRuntime.queryInterface(XTextRange, xTextCursor); xTextRange.setString("Macro in JavaScript");
//Add Text into Shapes(No.3) importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.text.XText); importClass(Packages.com.sun.star.text.ControlCharacter); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(8000, 3000)); xImpressPage.add(RxShape); //Add Text(No.3) xText =UnoRuntime.queryInterface(XText, RxShape); xTextCursor = xText.createTextCursor(); xText.insertControlCharacter(xTextCursor,ControlCharacter.PARAGRAPH_BREAK,false ); xTextCursor.gotoEnd(false); xText.setString("Macro in JavaScript");
//Move the Element. importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); //Point1 R1xShape =UnoRuntime.queryInterface(XShape, R_shape); R1xShape.setPosition(new Point(5000, 2000)); R1xShape.setSize(new Size(6000, 3000)); xImpressPage.add(R1xShape); //Confirm JOptionPane.showMessageDialog(null, "移動します。"); //Point2 R2xShape =UnoRuntime.queryInterface(XShape, R1xShape); R2xShape.setPosition(new Point(15000, 5000)); xImpressPage.add(R2xShape);
//Select the Element. importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); //Point1 R1xShape =UnoRuntime.queryInterface(XShape, R_shape); R1xShape.setPosition(new Point(5000, 2000)); R1xShape.setSize(new Size(6000, 3000)); xImpressPage.add(R1xShape); //Select Element oSelShape =UnoRuntime.queryInterface(XShape, R1xShape);
//Set Shape's Name ang Get Shape's Name. importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.container.XNamed); importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(6000, 3000)); //set Name xShapeName =UnoRuntime.queryInterface(XNamed, RxShape); xShapeName.setName("Macro1"); //Drawing xImpressPage.add(RxShape); //Get Name oSelShape =UnoRuntime.queryInterface(XShape, RxShape); oSelName =UnoRuntime.queryInterface(XNamed, oSelShape); oShapeName = oSelName.getName() //Confirm Name JOptionPane.showMessageDialog(null, oShapeName);
//Remove the Shape importPackage(java.lang); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.container.XNamed); importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(6000, 3000)); //set Name xShapeName =UnoRuntime.queryInterface(XNamed, RxShape); xShapeName.setName("Macro1"); //Drawing xImpressPage.add(RxShape); //Confirm JOptionPane.showMessageDialog(null, "Shape名" + xShapeName.getName() + "を削除します"); //Remove oSelShape =UnoRuntime.queryInterface(XShape, RxShape); xImpressPage.remove(oSelShape);
Style
[ Color ]//Background and Line Color for Shape importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(6000, 3000)); //Color oChrProperties1 =UnoRuntime.queryInterface(XPropertySet, RxShape); //This line is important. //Background oChrProperties1.setPropertyValue("FillColor", new java.lang.Integer(16309472)); //Line oChrProperties1.setPropertyValue("LineColor", new java.lang.Integer(255000000)); xImpressPage.add(RxShape);
//Change Text Color for Element importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.text.XText); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(6000, 3000)); //Color oChrProperties1 =UnoRuntime.queryInterface(XPropertySet, RxShape); //Background oChrProperties1.setPropertyValue("FillColor", new java.lang.Integer(16309472)); //Line oChrProperties1.setPropertyValue("LineColor", new java.lang.Integer(255000000)); xImpressPage.add(RxShape); //Add Text oText_Chr = new Array(); oText_Chr[0] = "Macro in JavaScript"; oText =UnoRuntime.queryInterface(XText, RxShape); oText.setString(oText_Chr[0]); //Change Text Color oChrProperties1.setPropertyValue("CharColor", new java.lang.Integer(255000000)); //To be after setting text. [ Note ] : If you insert color change code before setting text, it dose not change color
//Change Text Color for SHape(No.2) importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.text.XText); importClass(Packages.com.sun.star.text.XTextRange); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(8000, 3000)); xImpressPage.add(RxShape); //Add Text xText =UnoRuntime.queryInterface(XText, RxShape); xTextCursor = xText.createTextCursor(); xTextRange =UnoRuntime.queryInterface(XTextRange, xTextCursor); xTextRange.setString("Macro in JavaScript"); //Change Text Color xTextCursor.gotoEnd(true); xChrPropSet =UnoRuntime.queryInterface(XPropertySet, xTextRange); xChrPropSet.setPropertyValue("CharColor", new java.lang.Integer(0xff0000)); //文字色を赤
Connector
//Connect the Shape importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle1 R1_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); R1xShape =UnoRuntime.queryInterface(XShape, R1_shape); R1xShape.setPosition(new Point(5000, 2000)); R1xShape.setSize(new Size(3000, 3000)); //Rectangle2 R2_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); R2xShape =UnoRuntime.queryInterface(XShape, R2_shape); R2xShape.setPosition(new Point(15000, 5000)); R2xShape.setSize(new Size(3000, 3000)); // xImpressPage.add(R2xShape); //Drawing xImpressPage.add(R1xShape); xImpressPage.add(R2xShape); //Connector connector = xDocumentFactory.createInstance("com.sun.star.drawing.ConnectorShape"); xConnector =UnoRuntime.queryInterface(XShape, connector); xImpressPage.add(xConnector); //Point from start to end xConnectorProps =UnoRuntime.queryInterface(XPropertySet, connector); xConnectorProps.setPropertyValue("StartShape", R1xShape); xConnectorProps.setPropertyValue("EndShape", R2xShape); //Glue point positions: 0=top 1=right 2=bottom 3=left xConnectorProps.setPropertyValue("StartGluePointIndex", new java.lang.Integer(1)); xConnectorProps.setPropertyValue("EndGluePointIndex", new java.lang.Integer(3));
//The way to show the Screen. importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.com.sun.star.presentation.FadeEffect); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // page1のScreen設定 xPropSet = UnoRuntime.queryInterface(XPropertySet, xImpressPage ); xPropSet.setPropertyValue("Effect", FadeEffect.FADE_FROM_LEFT ); //[ Note ] ・スライドイン(下へ) : FADE_FROM_TOP ・スライドイン(左へ) : FADE_FROM_RIGHT ・スライドイン(右へ) : FADE_FROM_LEFT ・スライドイン(上へ) : FADE_FROM_BOTTOM
//The Speed to show the Screen. importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.com.sun.star.presentation.FadeEffect); importClass(Packages.com.sun.star.presentation.AnimationSpeed); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // page1のScreen設定 xPropSet = UnoRuntime.queryInterface(XPropertySet, xImpressPage ); xPropSet.setPropertyValue("Effect", FadeEffect.FADE_FROM_BOTTOM ); xPropSet.setPropertyValue("Speed", AnimationSpeed.FAST ); //[ Note ] ・早い : AnimationSpeed.FAST ・中程度の速度 : AnimationSpeed.MEDIUM ・遅い : AnimationSpeed.SLOW
//Switch the way of Screen(By mouse click) importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.com.sun.star.presentation.FadeEffect); importClass(Packages.com.sun.star.presentation.AnimationSpeed); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // page1のScreen設定 xPropSet = UnoRuntime.queryInterface(XPropertySet, xImpressPage ); xPropSet.setPropertyValue("Effect", FadeEffect.FADE_FROM_BOTTOM ); xPropSet.setPropertyValue("Speed", AnimationSpeed.FAST ); xPropSet.setPropertyValue("Change", new java.lang.Integer(0));
//Switch the way of Screen(On timer) importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.com.sun.star.presentation.FadeEffect); importClass(Packages.com.sun.star.presentation.AnimationSpeed); //Impress Document Page1へのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // page1のScreen設定 xPropSet = UnoRuntime.queryInterface(XPropertySet, xImpressPage ); xPropSet.setPropertyValue("Effect", FadeEffect.FADE_FROM_BOTTOM ); xPropSet.setPropertyValue("Speed", AnimationSpeed.FAST ); xPropSet.setPropertyValue("Change", new java.lang.Integer(1)); xPropSet.setPropertyValue("Duration", new java.lang.Integer(5)); //unit : sec
//The Speed to show the Screen. importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); //importClass(Packages.com.sun.star.drawing.XShape); //importClass(Packages.com.sun.star.awt.Point); //importClass(Packages.com.sun.star.awt.Size); //importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.lang.XServiceInfo); importClass(Packages.com.sun.star.presentation.FadeEffect); importClass(Packages.com.sun.star.presentation.AnimationSpeed); //importClass(Packages.javax.swing.JOptionPane); //Impress Document Page1へのAccess oImpPage = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); //Slide数Count var oCount=xImpPages.getCount() // pageのScreen設定 for(i=0 ; i<=oCount-1 ; i++) { oImpPage[i] = xImpPages.getByIndex(i); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage[i]); setSlideTransition(xImpressPage, FadeEffect.FADE_FROM_RIGHT, AnimationSpeed.SLOW, 1, 2 ); } // // [ Function1 : setSlideTransition ] function setSlideTransition(xPage, eEffect, eSpeed, nChange, nDuration) { xPropSet = UnoRuntime.queryInterface(XPropertySet, xPage ); xPropSet.setPropertyValue("Effect", eEffect ); xPropSet.setPropertyValue("Speed", eSpeed ); xPropSet.setPropertyValue("Change", new java.lang.Integer(nChange)); xPropSet.setPropertyValue("Duration", new java.lang.Integer(nDuration)); }
Annimation
//Animation Shapes importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.presentation.AnimationEffect); //Impress Document Page1へのAccess xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(3000, 3000)); xImpressPage.add(RxShape); //Property for Shape xPropSet =UnoRuntime.queryInterface(XPropertySet, RxShape); xPropSet.setPropertyValue("Effect",AnimationEffect.WAVYLINE_FROM_TOP); //[ Note ] ・WAVYLINE_FROM_TOP : 上部から表示 ・WAVYLINE_FROM_LEFT : 上部から表示 ・WAVYLINE_FROM_RIGHT : 上部から表示 ・WAVYLINE_FROM_BOTTOM : 上部から表示
//The Shape with Bookmark importPackage(java.lang); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.javax.swing.JOptionPane); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.drawing.XDrawPagesSupplier); importClass(Packages.com.sun.star.drawing.XDrawPage); importClass(Packages.com.sun.star.drawing.XShape); importClass(Packages.com.sun.star.awt.Point); importClass(Packages.com.sun.star.awt.Size); importClass(Packages.com.sun.star.lang.XMultiServiceFactory); importClass(Packages.com.sun.star.container.XNamed); importClass(Packages.com.sun.star.presentation.ClickAction); try{ //Impress DocumentへのAccess loadProps = new Array(); xImpComponent = XSCRIPTCONTEXT.getDocument(); xImpPagesSupplier =UnoRuntime.queryInterface(XDrawPagesSupplier, xImpComponent); xImpPages = xImpPagesSupplier.getDrawPages(); //Insert Page for(i=0; i<2; i++) { xImpPages.insertNewByIndex(0); } //Page3へのAccess oImpPage = xImpPages.getByIndex(2); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); // Page Name設定 xPageName =UnoRuntime.queryInterface(XNamed, xImpressPage); xPageName.setName("page three"); //Page1にAccess oImpPage = xImpPages.getByIndex(0); xImpressPage =UnoRuntime.queryInterface(XDrawPage, oImpPage); //Page1に要素追加 // Get document factory xDocumentFactory =UnoRuntime.queryInterface(XMultiServiceFactory, xImpComponent); //Rectangle R_shape =xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); RxShape =UnoRuntime.queryInterface(XShape, R_shape); RxShape.setPosition(new Point(5000, 2000)); RxShape.setSize(new Size(5000, 3000)); //Drawing xImpressPage.add(RxShape); //要素に"page three" へのBookmark設定 xShapePropSet =UnoRuntime.queryInterface(XPropertySet, RxShape ); xShapePropSet.setPropertyValue("OnClick", ClickAction.BOOKMARK); xShapePropSet.setPropertyValue("Bookmark", xPageName.getName()); //Confirm JOptionPane.showMessageDialog(null, "success"); }catch(e){ //Error処理 errorname = e.name; errormsg = e.message; eDisp= errorname + "\n" + errormsg; JOptionPane.showMessageDialog(null, eDisp); }