Macroの杜(JavaScript編)

*******【 Index 】*******

【 Rhino 】

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起動(外部起動)

【 Calc(表計算) 】

file操作

Sheet操作

Cell操作

Address

HyperLink

Style

Graph Chart作成


【 Base(Database) 】

file関係


【 Writer(文書作成) 】

file操作

文書入力

Style


【 Draw(描画) 】

file操作

Page操作

図形

Style

Connector

その他


【 Impress(Presentation) 】

file操作

Page操作

図形

Style

Connector

画面切り替え(SlideShow)

Annimation(SlideShow)



**********[ Macro Code ]**********

【 Rhino 】

Macroの基

GM-1)[General]何は無くとも「Hello World!!」(Message Box)

// Hello World in JavaScript importClass(Packages.javax.swing.JOptionPane); JOptionPane.showMessageDialog(null, "Hello World in JavaScript");


GM-2)[General]もし・・・・(If)

//If importClass(Packages.javax.swing.JOptionPane); var oI=2 if(oI != 1){ JOptionPane.showMessageDialog(null, "oI = 1 ではありません"); } else{ JOptionPane.showMessageDialog(null, "oI = " + oI + "です"); }


GM-3)[General]繰り返し操作はお手の物(for)

//for(){ } importClass(Packages.javax.swing.JOptionPane); for(i=0; i<=3; i++){ JOptionPane.showMessageDialog(null, i + "回目です"); }


GM-4)[General]何時まで続くのやら

//while(){} importClass(Packages.javax.swing.JOptionPane); var i = 1 while(i <= 3){ JOptionPane.showMessageDialog(null, i + "回目です"); i = i + 1 }


GM-5)[General]ああ言えばこう言う(switch(){case breake default})

//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; }


GM-6)[General]一箱いくらの世界(配列)

//Array[] importClass(Packages.javax.swing.JOptionPane); oTimes = new Array(); for(i=0; i<=3; i++){ oTimes[i] = i + "回目です" JOptionPane.showMessageDialog(null, oTimes[i]); }


GM-)[General]配列への入力

//Input data of Array[] importClass(java.lang.System); importPackage(java.util); var list = new ArrayList(); list.add("value1"); list.add("value2"); list.add("value3");


GM-)[General]配列を次々変更する

//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

GJSe-)[General]Default

// message box default importClass(Packages.javax.swing.JOptionPane); frame = new Packages.javax.swing.JFrame("frame") frame.setSize(200,200) JOptionPane.showMessageDialog(frame, "Success");


GJSe-)[General]Warning

// 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);


GJSe-)[General]Error

// 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);


GJSe-)[General]PLAIN_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);


GJSe-1)[General]Yes/No Button 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);


GJSe-)[General]Custon Button

//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


GMsg-2)[General]確認message

// Confirm2 importClass(Packages.javax.swing.JOptionPane); JOptionPane.showConfirmDialog(null, "Hello World in JavaScript");


GMsg-)[General]message box関数定義

// 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 ]

GRDa-)[General]日付の取得

// 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");


GRDa-)[General]Long型 => Date表示変換

// 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()); }


GRDt-)[General]時間の取得

// 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 ]

GRDn-)[General]整数(小数点切り捨て)

// Number importClass(Packages.javax.swing.JOptionPane); var oNum = 12345.67890123456789 oInt = Integer(oNum) JOptionPane.showMessageDialog(null, oInt+" <= [ Integer ]"); JOptionPane.showMessageDialog(null, "Success");


GRDn-)[General]倍精度

// Number importClass(Packages.javax.swing.JOptionPane); var oNum = 12345.67890123456789 oDbl = Double(oNum) JOptionPane.showMessageDialog(null, oDbl+" <= [ Double ]"); JOptionPane.showMessageDialog(null, "Success");


GRDn-)[General]配列

// 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");


GRDn-)[General]配列要素数

//length importClass(Packages.javax.swing.JOptionPane); jArr = new Array(200,500,600) jNum = jArr.length JOptionPane.showMessageDialog(null, jArr+" の配列要素数は => "+jNum); JOptionPane.showMessageDialog(null, "Success");


GRDn-)[General]配列要素の追加(末尾)

//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");


GRDn-)[General]配列要素の削除(末尾)

//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");


GRDn-)[General]配列要素のSort

//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");


GRDn-)[General]配列要素のReverse

//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");


GRDn-)[General]配列要素の移動(先頭削除)

//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);


GRDn-)[General]配列要素の移動(先頭追加)

//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);


GRDn-)[General]π

// PAI importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.PI; JOptionPane.showMessageDialog(null, oNum);


GRDn-)[General]三角関数1

// Trigonometric function importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.cos(0); JOptionPane.showMessageDialog(null, oNum);


GRDn-)[General]三角関数2

// 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+"°");


GRDn-)[General]余り

// Surplus importClass(Packages.javax.swing.JOptionPane); var oNum = 5%3 JOptionPane.showMessageDialog(null, oNum);


GRDn-)[General]整数化

// Integer importClass(Packages.javax.swing.JOptionPane); var oPI = java.lang.Math.PI var oNum = parseInt(oPI) JOptionPane.showMessageDialog(null, oNum);


GRDn-)[General]実数化

// Float importClass(Packages.javax.swing.JOptionPane); var oPI = java.lang.Math.PI var oNum = parseFloat(oPI) JOptionPane.showMessageDialog(null, oNum);


GRDn-)[General]式を評価&計算

// eval importClass(Packages.javax.swing.JOptionPane); var oPI = java.lang.Math.PI var oNum = eval(oPI/2) JOptionPane.showMessageDialog(null, oNum);


GRDn-)[General]数値で無いか?

// 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);


GRDn-)[General]有限値?

// 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);


GRDn-)[General]

// 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);


GRDn-)[General]切上げ

// ceil importClass(Packages.javax.swing.JOptionPane); var oPI = java.lang.Math.PI var oNum = java.lang.Math.ceil(oPI) JOptionPane.showMessageDialog(null, oPI+ "の切上げ値は => "+oNum);


GRDn-)[General]切下げ

// floor importClass(Packages.javax.swing.JOptionPane); var oPI = java.lang.Math.PI var oNum = java.lang.Math.floor(oPI) JOptionPane.showMessageDialog(null, oPI+ "の切下げ値は => "+oNum);


GRDn-)[General]四捨五入

// round importClass(Packages.javax.swing.JOptionPane); var oPI = java.lang.Math.PI var oNum = java.lang.Math.round(oPI) JOptionPane.showMessageDialog(null, oPI+ "の四捨五入値は => "+oNum);


GRDn-)[General]対数

// log importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.log(5*2) JOptionPane.showMessageDialog(null, "e^(5*2) = "+oNum);


GRDn-)[General]eの累乗

// exp importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.exp(5*2) JOptionPane.showMessageDialog(null, "exp(5*2) = "+oNum);


GRDn-)[General]比較値1

// max importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.max(1,2) JOptionPane.showMessageDialog(null, "max(1,2) = "+oNum);


GRDn-)[General]比較値2

// min importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.min(1,2) JOptionPane.showMessageDialog(null, "max(1,2) = "+oNum);


GRDn-)[General]べき乗

// pow importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.pow(2,5) JOptionPane.showMessageDialog(null, "2^5 = "+oNum);


GRDn-)[General]平方根

// squrt importClass(Packages.javax.swing.JOptionPane); var oNum = java.lang.Math.sqrt(3*3*3) JOptionPane.showMessageDialog(null, "sqrt(3*3*3) = "+oNum);


GRDn-)[General]乱数

// 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);


GRDn-)[General]指数表示

// 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);


GRDn-)[General]小数点以下指定表示

// 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);


GRDn-)[General]桁数指定表示

// 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 ]

GRDs-)[General]引数位置の文字を取得

// 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);


GRDs-)[General]引数で指定された文字列を最後に連結

// concat("") importClass(Packages.javax.swing.JOptionPane); jString = "ABSDEFG"; oTC = jString.concat("を繋ぎました。"); JOptionPane.showMessageDialog(null, oTC); jString = "坂本龍馬" oTC = jString.concat("を繋ぎました。"); JOptionPane.showMessageDialog(null, oTC);


GRDs-)[General]指定された文字列と比較

// equals("") importClass(Packages.javax.swing.JOptionPane); jString = "ABcdEfG"; oTC = jString.equals("BC"); JOptionPane.showMessageDialog(null, oTC); jString = "坂本龍馬" oTC = jString.equals("坂本龍馬"); JOptionPane.showMessageDialog(null, oTC);


GRDs-)[General]oldChar を newChar に変換

// 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


GRDs-)[General]引数の文字列が最初に出現する位置

// indexOf("") importClass(Packages.javax.swing.JOptionPane); jString = "ABcdEfG"; oTC = jString.indexOf("dE"); JOptionPane.showMessageDialog(null, oTC); jString = "坂本龍馬"; oTC = jString.indexOf("本"); JOptionPane.showMessageDialog(null, oTC);


GRDs-)[General]引数の文字列が最後に出現する位置

// lastIndexOf("") importClass(Packages.javax.swing.JOptionPane); jString = "ABcdEfAG"; oTC = jString.lastIndexOf("A"); JOptionPane.showMessageDialog(null, oTC); jString = "坂本龍馬日本"; oTC = jString.lastIndexOf("本"); JOptionPane.showMessageDialog(null, oTC);


GRDs-)[General]引数の位置から最後までの部分文字列

// 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);


GRDs-)[General]特定位置の部分文字列

// 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);


GRDs-)[General]特定位置の部分文字列2

// 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);


GRDs-)[General]特定位置の部分文字列3

// 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);


GRDs-)[General]文字列を小文字に変換

// toLowerCase() importClass(Packages.javax.swing.JOptionPane); jString = "ABcdEfAG"; oTC = jString.toLowerCase(); JOptionPane.showMessageDialog(null, oTC);


GRDs-)[General]文字列を大文字に変換

// toUpperCase() importClass(Packages.javax.swing.JOptionPane); jString = "ABcdEfAG"; oTC = jString.toUpperCase(); JOptionPane.showMessageDialog(null, oTC);


GRDs-)[General]String ClassのObjectに変換

// toString() importClass(Packages.javax.swing.JOptionPane); jString = "ABcdEfAG"; oTC = jString.toString(); JOptionPane.showMessageDialog(null, oTC); jString = "坂本龍馬"; oTC = jString.toString(); JOptionPane.showMessageDialog(null, oTC);


GRDs-)[General]Latin-1 Codeに変換

// 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);


GRDs-)[General]Latin-1 Codeから変換

// 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);


GRDs-)[General]URL/URIをencode

// 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);


GRDs-)[General]URLをencode

// 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されていません"); }


GRDs-)[General]URL/URIをdecode

// 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);


GRDs-)[General]URLをdecode

// 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されていません"); }


GRDs-)[General]文字列を検索(頭から)

// 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+"番目");


GRDs-)[General]正規表現で検索

// 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しました");


GRDs-)[General]文字長さ

// 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+" 文字です");


GRDs-)[General]改行

// Retun importClass(Packages.javax.swing.JOptionPane); oDisp = "OpenOffice.org" + "\n" + "Macro using JavaScript"; JOptionPane.showMessageDialog(null, oDisp);


[ 正規表現 ]

GRDre-)[General]正規表現を使って文字数をCheck

//正規表現 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); }


GRDre-)[General]正規表現を使ってを半角英数Check

//正規表現 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); }


GRDre-)[General]正規表現を使って記号をCheck

//正規表現 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); }


GRDre-)[General]正規表現を使って郵便番号をCheck

//正規表現 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); }


GRDre-)[General]正規表現を使って電話番号をCheck

//正規表現 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); }


GRDre-)[General]正規表現を使ってmail addressをCheck

//正規表現 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

GRF-)[General]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

GROj-)[General]JavaScript 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();


GROj-)[General]New Contextに表示

// 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();


GROj-)[General]New Contextに表示(2)

// 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();


GROj-)[General]Class Name取得

// 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操作 ]

GFh-1)[General]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 + " は存在します"); }


GFh-1)[General]File名変更

// 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名を変更しました。"); } }


GFh-)[General]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 + " の作成に成功しました。"); } }


GFh-)[General]File削除

// 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発生"); }


GFh-)[General]Directory作成

// 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情報 ]

<< 取得・確認 >>

GFi-1)[General]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 + " は「読み込み可能」ではありません。"); } }


GFi-)[General]Fileの書き込み可能かどうか

// 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 + " は「書き込み可能」ではありません。"); } }


GFi-2)[General]Fileかどうか

// 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」ではありません。"); } }


GFi-)[General]Directoryかどうか

// 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」ではありません。"); } }


GFi-)[General]Hidden Fileかどうか

// 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発生"); }


GFi-)[General]絶対Pathかどうか

// 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発生"); }


GFi-)[General]File名/Directory名の取得

// Get File Name importPackage(java.io); importClass(Packages.javax.swing.JOptionPane); oFile = File("C:/temp/test.csv"); oName = oFile.getName(); JOptionPane.showMessageDialog(null, oName);


GFi-)[General]絶対Path名の取得

// 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, "例外発生"); }


GFi-)[General]Path名の取得

// 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, "例外発生"); }


GFi-)[General]親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{ oP = oFile.getParent(); oDisp = "[ getParent() ] => " + oP; JOptionPane.showMessageDialog(null, oDisp); } }catch(IOException){ //例外処理 JOptionPane.showMessageDialog(null, "例外発生"); }


GFi-)[General]最終更新日の取得

// 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, "例外発生"); }


GFi-)[General]Directory内のFile & Directory数取得

// 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, "例外発生"); }


GFi-)[General]Directory内のFile List取得1(文字列)

// 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, "例外発生"); }


GFi-)[General]Directory内のFile List取得2(File Object配列)

// 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, "例外発生"); }


GFi-)[General]Path区切り文字の取得1

// 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, "例外発生"); }


GFi-)[General]Path区切り文字の取得2

// 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, "例外発生"); }


<< 設定 >>

GFs-)[General]ReadOnlyに設定

// 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, "例外発生"); }


GFs-)[General]最終更新日の設定

// 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 ]

GFd-)[General]Disk容量取得1

// 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, "例外発生"); }


GFd-)[General]Disk容量取得2

// 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, "例外発生"); }


GFd-)[General]Disk容量取得3

// 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 >>

GFSb-)[General]Text fileの読込及び書出し

// 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"); }


GFSb-)[General]Text fileの読込及び書出し(文字形式指定)

// 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

GRT-)[General]5se間実行待ち

//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); }


GRT-)[General]


GRT-)[General]


GRT-)[General]


Utility

GRUt-)[General]HashtMap

//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);


GRUt-)[General]Map Size

//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);


GRUt-)[General]Map から削除

//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);


GRUt-)[General]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);


GRUt-)[General]Map の存在をcheckする

//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 + " は存在しません。"); }


GRUt-)[General](未完成)Hashtable

// 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");


GRUt-)[General]Text fileの圧縮、解凍

// 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); }


GRUt-)[General]利用可能なMemory容量取得

//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); }


GRUt-)[General]全Memory容量取得

//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); }


GRUt-)[General]


Swing

[ Frame ]

GRAF-)[General]新規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); }


GRAF-)[General]Lavelの追加

//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); }


GRAF-)[General]Text Boxの追加

//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); }


GRAF-)[General]Password入力欄の追加

//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); }


GRAF-)[General]Text Areaの追加

//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); }


GRAF-)[General]Buttonの追加

//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); }


GRAF-)[General]Check Boxの追加

//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); }


GRAF-)[General]Radio Boxの追加

//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); }


GRAF-)[General]Radio BOxをGroup化する。

//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); }


GRAF-)[General]Menue Panel

//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); }


GRAF-)[General]Tree表示

//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); }


GRAF-)[General]Tab作成

//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); }


GRAF-)[General]ComboBox

//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); }


GRAF-)[General]Applet Frame作成

// 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.


GRAF-)[General]Simile図作成1

// 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));


GRAF-)[General]Simile図作2

// 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 ]

GRAL-)[General]Action Button作成

//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); }


GRAL-)[General]mouse Click

//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); }


GRAL-)[General]mouse cursorがLabel上にあるか

//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); }


GRAL-)[General]Mouse CursorがLabel上から外れたの処理

//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); }


GRAL-)[General]mouse buttonが押されている事を検知

//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); }


GRAL-)[General]Listener Frame作成

// 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();



GRAL-)[General]


NetWork

GNW-)[General]Local情報取得

//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")

GNW-)[General]Host Nameから情報取得

//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")

GNW-)[General]IP Addressから情報取得

//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")

GNW-4)[General]複数のIP Address取得

//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")

GNW-)[General]URL Object作成1

//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")

GNW-)[General]URL Object作成2

//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")

GNW-)[General]URL Object作成3

//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")

GNW-)[General]URL ObjectからProtocl取得

//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")

GNW-)[General]URL Objectからhost name取得

//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")

GNW-)[General]URL ObjectからPort No.取得

//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")

GNW-)[General]URL Objectから送信文字列取得

//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")

GNW-)[General]URL ObjectからPath取得

//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")

GNW-)[General]URL ObjectからFile name取得

//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")

GNW-)[General]URL ObjectからAnchor取得

//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")

GNW-)[General]URL ObjectからUserInfo取得

//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")

GNW-)[General]URL ObjectからUser権限取得

//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")

GNW-)[General]Contentsと接続

//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")

GNW-)[General]Contnt Type取得

//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")

GNW-)[General]Contnt Size取得

//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")

GNW-)[General]ContntのEncode方式取得

//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")

GNW-)[General]Contnt送信日時取得

//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")

GNW-)[General]Contnt有効期限取得

//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")

GNW-)[General]Contnt最終更新日取得

//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")

GNW-)[General]Socket通信

//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")

GNW-)[General]Socket通信/接続先のHOST名とIP取得

//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")

GNW-)[General]Socket通信/接続先のPort No.取得

//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")

GNW-)[General]Socket通信/バインド先のLocal HOST名とIP取得

//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定義関数

GWeb-)[General]ReadURL

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()

GXHR-)[General]

//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

GMus-)[General]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

GJSe-)[General]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

GTs-)[General]MRIの使用方法

[ 入手元 ] 以下の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を扱うものにとって余りに素晴らし過ぎる拡張機能である。


GTs-)[General]Internet ExplorerからNotePad起動

<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>

GTs-)[General]Rhino Shell

[ 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

GTs-)[General]Rhino Debugger

[ Rhino Debugger ] cd \ set CLASSPATH=Down_load/Rhino/rhino1_7R2/js.jar java org.mozilla.javascript.tools.debugger.Main


RhinoからOpenOffice.org起動

GRB-)[General]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"); }



【 Calc(表計算) 】

CF-1)[Calc]新規にCalc fileを開く

//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操作

CS-1)[Calc]Sheet1にAccessする

//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));


CS-)[Calc]Current Sheetの変更

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";


CS-)[Calc]


Cell操作

CC-1)[Calc]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); }


CC-1)[Calc]Cell入力(その2)

//[ 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"; // ←式入力


CC-2)[Calc]Cell値( A1 )を取得する

//[ 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(); } }


CC-3)[Calc]Cell Range( A1:C4 )を選択(取得)する。(但し実Sheet上は変化無し)

//[ 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);


C)[Calc]値の入力と計算

//[ 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; }


C)[Calc]Cellの結合

//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);


CC-7)[Calc]CellのClear

//[ 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


CC-)[Calc]CellのInsert

//[ 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

CAd)[Calc]Active Cellの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); } }


CAd)[Calc]任意の列のData最終行取得

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

CHy-)[Calc]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

CCS-1)[Calc]指定Cell( A1, A2 )の背景色設定

//[ 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 }


CCS-2)[Calc]指定Cell( A1, A2 )の文字色設定

//[ 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) }


CCS-3)[Calc]専用Style(背景色、文字色、Style Name = "MyStyle")の設定(「書式」⇒「スタイルと書式設定」に追加)

//[ 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が存在する場合は上書きされる。


CCS-4)[Calc]指定範囲を専用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作成

C)[Calc]Simple Diagram作成

//[ 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); }


CG-2)[Calc]3D Diagram作成

//[ 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); }


【 Base(Database) 】

BF-1)[Base]新規にBase fileを開く

//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);


【 Writer(文書作成) 】

file操作

WF-1)[Writer]新規にWriter 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);


文書入力

WD-1)[Writer]最もポピュラーなマクロ(Hello World in JavaScript)

// 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

WSC-1)[Writer]文字色の変更

/ [ 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))


【 Draw(描画) 】

file操作

DF-1)[Draw]新規にDraw 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操作

DS-1)[Draw]Page1へのAccess

//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);


DS-2)[Draw]Pageの追加

//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); }


DS-3)[Draw]Pageの削除

//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)


DS-4)[Draw]Pageに名前を付ける。Page名の取得

/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);


DS-5)[Draw]Pageの枚数を数える

//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 + "枚");


図形作図

DSC-1)[Draw]各種要素の作成

//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);


DD-)[Draw]要素にText追加

//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 ]
DSC-1)[Draw]要素の背景,外形色設定

//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);


DSC-)[Draw]要素の文字色変更

//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


DSC-1)[Draw]要素にHatch変更

//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

DC-1)[Draw]Conector追加

//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));


DC-2)[Draw]Conector追加(その2)

//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)); } } }


その他

DO-)[Draw]階層設定

//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); } }


【 Impress(Presentation) 】

file操作

IF-1)[Impress]新規にImpress 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操作

IP-1)[Impress]Page1へのAccess

//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);


IP-2)[Impress]Pageの追加

//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); }


IP-3)[Impress]Pageの削除

//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); }


IP-4)[Impress]Pageに名前を付ける。Page名の取得

//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);


IP-5)[Impress]Pageの枚数を数える

//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 + "枚");


IP-6)[Impress]Page情報の取得

//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);


IP-)[Impress]


図形

ID-1)[Impress]各種要素の作成

//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);


ID-)[Impress]要素にText追加

//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]);


ID-)[Impress]要素にText追加(その2)

//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");


ID-)[Impress]要素にText追加(その3)

//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");


ID-)[Impress]要素を移動

//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);


ID-)[Impress]要素の選択

//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);


ID-)[Impress]要素に名前を付ける。要素名の取得

//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);


ID-)[Impress]要素の削除

//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);


ID-)[Impress]


Style

[ Color ]
ID-1)[Impress]要素の背景,外形色設定

//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);


ID-)[Impress]要素の文字色変更

//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


ID-)[Impress]要素の文字色変更(その2)

//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

IC-1)[Impress]Conector追加

//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));


ISS-1)[Impress]Screenの表示方法設定(左側から登場)

//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


ISS-2)[Impress]切り替え速度の変更

//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


ISS-3)[Impress]Slideを進める(By Mouse Click)

//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));


ISS-4)[Impress]Slideを進める(次の動作(5秒間表示)のあと自動的に)

//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


ISS-5)[Impress]全てのSlideに適用

//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)); }


ISS-)[Impress]


Annimation

IA-1)[Impress]要素の表示方法(上部から表示)

//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 : 上部から表示


[ Bookmark ]
IAB-1)[Impress]要素にBookmarkを設定("page three"に移動)

//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); }







inserted by FC2 system