create a new page, using OOoBeanShell/Calc/mergevertical as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
*MergeVertical [#pabb9a92]
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.frame.XDesktop;
import com.sun.star.frame.XModel;
import drafts.com.sun.star.script.provider.XScriptContext;
import com.sun.star.beans.XPropertySet;
import com.sun.star.beans.PropertyValue;
import com.sun.star.container.XNameContainer;
import com.sun.star.container.XNameAccess;
import com.sun.star.frame.XModel;
import com.sun.star.frame.XController;
import com.sun.star.lang.XServiceInfo;
import com.sun.star.view.XSelectionSupplier;
import com.sun.star.util.XMergeable;
import com.sun.star.container.XEnumeration;
import com.sun.star.container.XEnumerationAccess;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.sheet.XSpreadsheets;
import com.sun.star.sheet.XSpreadsheet;
import com.sun.star.sheet.XCellRangeAddressable;
import com.sun.star.text.XText;
import com.sun.star.table.XCellRange;
import com.sun.star.table.XCell;
oDoc = XSCRIPTCONTEXT.getDocument();
xSpreadsheetModel = (XModel) UnoRuntime.queryInterface(X...
xController = xSpreadsheetModel.getCurrentController();
xSel = (XSelectionSupplier) UnoRuntime.queryInterface(XS...
Object Selection = xSel.getSelection();
xServiceInfo = (XServiceInfo) UnoRuntime.queryInterface(...
String Info = xServiceInfo.getImplementationName();
// horizontal_merge function is used to merge cellranges...
void horizontal_merge(mergearea) throws java.lang.Except...
xRangeAddr = (XCellRangeAddressable) UnoRuntime.queryIn...
aRangeAddress = xRangeAddr.getRangeAddress();
int nRows = aRangeAddress.EndRow - aRangeAddress.StartR...
int nCols = aRangeAddress.EndColumn - aRangeAddress.Sta...
xSelectedRange = (XCellRange) UnoRuntime.queryInterface...
for(int i=0; i<=nCols; i++) {
xHorizontalRange = xSelectedRange.getCellRangeByPositi...
xHorizontalMergeable = (XMergeable) UnoRuntime.queryIn...
merged = xHorizontalMergeable.getIsMerged();
if (merged) {
xHorizontalMergeable.merge(false);
xHorizontalMergeable.merge(true);
} else {
xHorizontalMergeable.merge(true);
}
}
}
if (Info.equals("ScCellRangeObj")) {
horizontal_merge(Selection);
} else if (Info.equals("ScCellRangesObj")) {
xEnumerationAccess = (XEnumerationAccess) UnoRuntime.qu...
xEnumeration = xEnumerationAccess.createEnumeration();
while (xEnumeration.hasMoreElements()) {
Object oCellRange = xEnumeration.nextElement();
horizontal_merge(oCellRange);
}
}
return 0;
End:
*MergeVertical [#pabb9a92]
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.frame.XDesktop;
import com.sun.star.frame.XModel;
import drafts.com.sun.star.script.provider.XScriptContext;
import com.sun.star.beans.XPropertySet;
import com.sun.star.beans.PropertyValue;
import com.sun.star.container.XNameContainer;
import com.sun.star.container.XNameAccess;
import com.sun.star.frame.XModel;
import com.sun.star.frame.XController;
import com.sun.star.lang.XServiceInfo;
import com.sun.star.view.XSelectionSupplier;
import com.sun.star.util.XMergeable;
import com.sun.star.container.XEnumeration;
import com.sun.star.container.XEnumerationAccess;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.sheet.XSpreadsheets;
import com.sun.star.sheet.XSpreadsheet;
import com.sun.star.sheet.XCellRangeAddressable;
import com.sun.star.text.XText;
import com.sun.star.table.XCellRange;
import com.sun.star.table.XCell;
oDoc = XSCRIPTCONTEXT.getDocument();
xSpreadsheetModel = (XModel) UnoRuntime.queryInterface(X...
xController = xSpreadsheetModel.getCurrentController();
xSel = (XSelectionSupplier) UnoRuntime.queryInterface(XS...
Object Selection = xSel.getSelection();
xServiceInfo = (XServiceInfo) UnoRuntime.queryInterface(...
String Info = xServiceInfo.getImplementationName();
// horizontal_merge function is used to merge cellranges...
void horizontal_merge(mergearea) throws java.lang.Except...
xRangeAddr = (XCellRangeAddressable) UnoRuntime.queryIn...
aRangeAddress = xRangeAddr.getRangeAddress();
int nRows = aRangeAddress.EndRow - aRangeAddress.StartR...
int nCols = aRangeAddress.EndColumn - aRangeAddress.Sta...
xSelectedRange = (XCellRange) UnoRuntime.queryInterface...
for(int i=0; i<=nCols; i++) {
xHorizontalRange = xSelectedRange.getCellRangeByPositi...
xHorizontalMergeable = (XMergeable) UnoRuntime.queryIn...
merged = xHorizontalMergeable.getIsMerged();
if (merged) {
xHorizontalMergeable.merge(false);
xHorizontalMergeable.merge(true);
} else {
xHorizontalMergeable.merge(true);
}
}
}
if (Info.equals("ScCellRangeObj")) {
horizontal_merge(Selection);
} else if (Info.equals("ScCellRangesObj")) {
xEnumerationAccess = (XEnumerationAccess) UnoRuntime.qu...
xEnumeration = xEnumerationAccess.createEnumeration();
while (xEnumeration.hasMoreElements()) {
Object oCellRange = xEnumeration.nextElement();
horizontal_merge(oCellRange);
}
}
return 0;
Page: