Home of site/JavaScript Macro for Calc

Macroの杜(JavaScript編)

< 戻る 【 Calc 】

CCFEt-)[Calc]各種UnderLine / UnderlineColor設定
【Picture】実行結果

Underlineの種類は

  com.sun.star.awt.FontUnderline

のshort値で設定する


//[ Cell ] Underline
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);
importClass(Packages.javax.swing.JOptionPane);

importClass(Packages.com.sun.star.table.XCellRange);

importClass(Packages.com.sun.star.beans.XPropertySet);
try{
	loadProps = new Array(); // We need no properties
	xSheetComponent = XSCRIPTCONTEXT.getDocument();
	xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent);
	xSheets = xDocument.getSheets();
	xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets);
	oSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0));
	// Cell(A1,A2)
	oCell =new Array();
	for(i=0; i<=19; i++){
		xCellRange = UnoRuntime.queryInterface(XCellRange, oSheet);
		if(i < 10){
			k = 0
			m = i
		}else{
			k = 1
			m = i-10
		}
		xCell = xCellRange.getCellByPosition(k, m)
		switch(i){
	   	  case 0: xCell.formula = i + " : NONE"; break;
	   	  case 1: xCell.formula = i + " : SINGLE"; break;
	   	  case 2: xCell.formula = i + " : DOUBLE"; break;
	   	  case 3: xCell.formula = i + " : DOTTED"; break;
	   	  case 4: xCell.formula = i + " : DONTKNOW"; break;
	   	  case 5: xCell.formula = i + " : DASH"; break;
	   	  case 6: xCell.formula = i + " : LONGDASH"; break;
	   	  case 7: xCell.formula = i + " : DASHDOT"; break;
	   	  case 8: xCell.formula = i + " : DASHDOTDOT"; break;
	   	  case 9: xCell.formula = i + " : SMALLWAVE"; break;
	   	  case 10: xCell.formula = i + " : WAVE"; break;
	   	  case 11: xCell.formula = i + " : DOUBLEWAVE"; break;
	   	  case 12: xCell.formula = i + " : BOLD"; break;
	   	  case 13: xCell.formula = i + " : BOLDDOTTED"; break;
	   	  case 14: xCell.formula = i + " : BOLDDASH"; break;
	   	  case 15: xCell.formula = i + " : BOLDLONGDASH"; break;
	   	  case 16: xCell.formula = i + " : BOLDDASHDOT"; break;
	   	  case 17: xCell.formula = i + " : BOLDDASHDOTDOT"; break;
	   	  case 18: xCell.formula = i + " : BOLDWAVE"; break;
	 	}
		xLine = i
		xUL = UnoRuntime.queryInterface(XPropertySet,xCell);
		xUL.setPropertyValue("CharUnderline",new java.lang.Integer(xLine));
	}
	JOptionPane.showMessageDialog(null, "Success\n(LO7.2.5.2)");
}catch(e){
//Error Handling
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
【Picture】実行結果

  Underlineの色は Defaultでは文字色と同じ。

  下線の色だけを変更する場合は

	CharUnderlineHasColor : true

	CharUnderlineColor : com.sun.star.util.Color(※)で設定。 

	  ※ 赤の場合 RGB(FF,00,00) ⇒ 0xFF0000

  で設定する。
//[ Cell ] Underline Color 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); importClass(Packages.javax.swing.JOptionPane); importClass(Packages.com.sun.star.table.XCellRange); importClass(Packages.com.sun.star.beans.XPropertySet); try{ loadProps = new Array(); // We need no properties xSheetComponent = XSCRIPTCONTEXT.getDocument(); xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent); xSheets = xDocument.getSheets(); xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets); oSheet =UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0)); // Cell(A1,A2) oCell =new Array(); for(i=0; i<=2; i++){ xCellRange = UnoRuntime.queryInterface(XCellRange, oSheet); xCell = xCellRange.getCellByPosition(0, i) switch(i){ case 0: xCell.formula = i + " : Red";xLineColor = 0xFF0000; break; case 1: xCell.formula = i + " : Green";xLineColor = 0x00FF00; break; case 2: xCell.formula = i + " : Blue";xLineColor = 0x0000FF; break; } xLine = 2 xUL = UnoRuntime.queryInterface(XPropertySet,xCell); xUL.setPropertyValue("CharUnderline",new java.lang.Integer(xLine)); // Line Color xUL.setPropertyValue("CharUnderlineHasColor",new java.lang.Boolean(true)); xUL.setPropertyValue("CharUnderlineColor",new java.lang.Integer(xLineColor)); } JOptionPane.showMessageDialog(null, "Success\n(LO7.2.5.2)"); }catch(e){ //Error Handling errorname = e.name; errormsg = e.message; eDisp= errorname + "\n" + errormsg; JOptionPane.showMessageDialog(null, eDisp); }
inserted by FC2 system