Home of site/JavaScript Macro for Calc

Macroの杜(JavaScript編)

< 戻る 【 Calc 】

CCFEt-)[Calc]影付き文字
【Picture】実行結果

影付き文字の設定は

	com.sun.star.style.CharacterProperties Service

で設定します。


//[ Cell ] shadowed text 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);
importClass(Packages.javax.swing.JOptionPane);
try{
	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
	oCell = xSheet.getCellByPosition(0, 0);
	oCell.formula = "Shadowed Text"
	//Set color of charactor 
	oCellProperties1 =UnoRuntime.queryInterface(XPropertySet, oCell);			
	oCellProperties1.setPropertyValue("CharShadowed", new java.lang.Boolean(true));
	oDisp = "Success\n(LO7.2.5.2)";
}catch(e){
//Error Handling
errorname = e.name;
errormsg = e.message;
oDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}finally{
	JOptionPane.showMessageDialog(null, oDisp);
	oCellProperties1 = null
}
【Picture】実行結果

  Uno DispatchHelperコマンドで

	影付き文字

  を設定する場合は以下となります



//[ DispatchHelper ] shadowed text of Cells
importClass(Packages.javax.swing.JOptionPane);
importClass(Packages.java.lang.System);

importClass(Packages.com.sun.star.beans.PropertyValue);
importClass(Packages.com.sun.star.frame.XDispatchHelper);
importClass(Packages.com.sun.star.frame.XDispatchProvider);
importClass(Packages.com.sun.star.uno.UnoRuntime);

importClass(Packages.com.sun.star.frame.XModel);
xSheetComponent = XSCRIPTCONTEXT.getDocument();

// utility method to ease creation of PropertyValue objects
function createProperty(n, v){
	prop = new PropertyValue();
	prop.Name =n;
	prop.Value=v;	
	return prop
}

try{
	// get important objects from the XSCRIPTCONTEXT
	xDispatchProvider = UnoRuntime.queryInterface(XDispatchProvider, XSCRIPTCONTEXT.getDesktop());
	ctx = XSCRIPTCONTEXT.getComponentContext();

	// create an UNO service object
	smgr = ctx.getServiceManager();
	sdh = smgr.createInstanceWithContext("com.sun.star.frame.DispatchHelper", ctx);

	// get XDispatchProvider 
	oModel = UnoRuntime.queryInterface(XModel, xSheetComponent);
	oController = oModel.getCurrentController();
	oFrame = oController.getFrame()
	oDispatchProvider = UnoRuntime.queryInterface(XDispatchProvider, oFrame);

	// move to Ai Cell
	args = new Array;
	args[0]= createProperty("ToPoint", "A1");
	xDispatchHelper = UnoRuntime.queryInterface(XDispatchHelper, sdh);
	xDispatchHelper.executeDispatch(oDispatchProvider, ".uno:GoToCell", "", 0, args);

	// text
	args[0]= createProperty("StringName", "JavaScript Macro");
	xDispatchHelper = UnoRuntime.queryInterface(XDispatchHelper, sdh);
	xDispatchHelper.executeDispatch(oDispatchProvider, ".uno:EnterString", "", 0, args);

	// shaded text
	args[0]= createProperty("Shadowed", new java.lang.Boolean(true));
	xDispatchHelper = UnoRuntime.queryInterface(XDispatchHelper, sdh);
	xDispatchHelper.executeDispatch(oDispatchProvider, ".uno:Shadowed", "", 0, args);
	
	oDisp = "Success\n[DispatchHelper]\n(LO7.6.2.1)"
}catch(e){
//Error Handling
errorname = e.name;
errormsg = e.message;
oDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}finally{
	JOptionPane.showMessageDialog(null, oDisp);
	prop = null;
	xDispatchProvider = null;
	ctx = null;
	smgr = null;
	sdh = null;
	oModel = null;
	oController = null;
	oFrame = null;
	oDispatchProvider = null;
	args = null;
	xDispatchHelper = null;
	System.gc();
}
inserted by FC2 system