Home of site/JavaScript Macro for Calc

Macroの杜(JavaScript編)

< 戻る 【 Calc 】

JsRowCol-01)[Calc]Row、Columnを挿入する
【Movie】実行結果

行を挿入する場合する場合は

  com.sun.star.table.XTableRows / .insertByIndex
 
を使う。


//[ Cell ] Insert Rows
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.javax.swing.JOptionPane);

importClass(Packages.com.sun.star.table.XColumnRowRange);
importClass(Packages.com.sun.star.table.XTableRows);

try{
	xSheetComponent = XSCRIPTCONTEXT.getDocument();
	xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent);
	xSheets = xDocument.getSheets();
	xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets);
	xSheet = UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0));

	// Insert Rows
	xColRowRan = UnoRuntime.queryInterface(XColumnRowRange,xSheet);
	oRows = xColRowRan.getRows()
	xTableRows = UnoRuntime.queryInterface(XTableRows,oRows);
	xTableRows.insertByIndex(1,2)	// ←2行目から2行挿入
	oDisp = "Inser Rows\n\nSuccess\n(LO7.6.2.1)"
	JOptionPane.showMessageDialog(null, oDisp);
}catch(e){
//Error Handling
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
【Movie】実行結果

行を挿入する場合する場合は

  com.sun.star.table.XTableColumns / .insertByIndex
 
を使う。


//[ Cell ] Insert Columns
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.javax.swing.JOptionPane);

importClass(Packages.com.sun.star.table.XColumnRowRange);
importClass(Packages.com.sun.star.table.XTableColumns);

try{
	xSheetComponent = XSCRIPTCONTEXT.getDocument();
	xDocument = UnoRuntime.queryInterface(XSpreadsheetDocument,xSheetComponent);
	xSheets = xDocument.getSheets();
	xIndexSheets =UnoRuntime.queryInterface(XIndexAccess, xSheets);
	xSheet = UnoRuntime.queryInterface(XSpreadsheet,xIndexSheets.getByIndex(0));

	// Insert Column
	xColRowRan = UnoRuntime.queryInterface(XColumnRowRange,xSheet);
	oCols = xColRowRan.getColumns()
	xTableCols = UnoRuntime.queryInterface(XTableColumns,oCols);
	xTableCols.insertByIndex(1,2) // ←B列から2列挿入
	oDisp = "Insert Columns !!\n\nSuccess\n(LO7.6.2.1)"
	JOptionPane.showMessageDialog(null, oDisp);
}catch(e){
//Error Handling
errorname = e.name;
errormsg = e.message;
eDisp= errorname + "\n" + errormsg;
JOptionPane.showMessageDialog(null, eDisp);
}
inserted by FC2 system