MarkLogicExcelAddin.js
Summary
API documentation for MarkLogicExcelAddin.js
http://www.marklogic.com
Version: 2.0-1
Author: Pete Aven pete.aven@marklogic.com
* @fileoverview API documentation for MarkLogicExcelAddin.js
*
*
*
* {@link http://www.marklogic.com}
*
* @author Pete Aven pete.aven@marklogic.com
* @version2.0-1
*/
function MLA(){};
MLA.Cell = function(){
var rowIdx;
var colIdx;
var coordinate;
var value2;
var formula;
switch (typeof arguments[0]){
case 'number' : MLA.Cell.$int.apply(this, arguments); break;
case 'string' : MLA.Cell.$str.apply(this, arguments); break;
default :
}
}
MLA.Cell.$int = function(x,y) {
this.rowIdx = x;
this.colIdx = y;
this.coordinate=MLA.convertR1C1ToA1(x,y);
};
MLA.Cell.$str = function(coord) {
this.coordinate = coord;
var cell = MLA.convertA1ToR1C1(coord);
var c_values = cell.split(":");
this.rowIdx= c_values[1];
this.colIdx=c_values[0];
}
MLA.version = { "release" : "2.0-0" };
MLA.SimpleRange = function(begin,finish){
this.start = begin;
this.end = finish;
};
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
MLA.getVersion = function()
{
return MLA.version.release;
}
MLA.errorCheck = function(message)
{
var returnVal = null;
var errStr = message.substring(0,6);
var len = message.length;
var errMsg = message.substring(7,len);
if(errStr=="error:")
returnVal=errMsg;
return returnVal;
}
MLA.createXMLDOM = function(xmlstring)
{
try{
var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
xmlDom.async=false;
xmlDom.loadXML(xmlstring);
}catch(err){
throw("Error: Not able to create XMLDOM from string. Make sure XML is well formed. ");
}
if(xmlDom.text=="" && xmlDom.xml == "")
throw("Error: Not able to create XMLDOM from string. Make sure XML is well formed. ");
return xmlDom;
}
MLA.unescapeXMLCharEntities = function(stringtoconvert)
{
var unescaped = "";
unescaped = stringtoconvert.replace(/&/g,"&");
unescaped = unescaped.replace(/</g, "<");
unescaped = unescaped.replace(/>/g, ">");
unescaped = unescaped.replace(/"/g,"\"");
unescaped = unescaped.replace(/'/g,"\'");
return unescaped;
}
/** @ignore */
MLA.escapeXMLCharEntities = function(stringtoconvert)
{
var escaped = "";
escaped = stringtoconvert.replace(/&/g,"&");
escaped = escaped.replace(/</g, "<");
escaped = escaped.replace(/>/g, ">");
escaped = escaped.replace(/\"/g,""");
escaped = escaped.replace(/\'/g, "'");
return escaped;
}
MLA.isArray = function(obj)
{
return obj.constructor == Array;
}
MLA.getCustomXMLPartIds = function()
{
var partIds = window.external.getCustomXMLPartIds();
var errMsg = MLA.errorCheck(partIds);
if(errMsg!=null)
throw("Error: Not able to get CustomXMLPartIds; "+errMsg);
var customPartIds = partIds.split(" ");
if(customPartIds.length ==1){
if (customPartIds[0] == null || customPartIds[0] == ""){
customPartIds.length = 0;
}
}
return customPartIds;
}
MLA.getCustomXMLPart = function(customXMLPartId)
{
var customXMLPart = window.external.getCustomXMLPart(customXMLPartId);
var errMsg = MLA.errorCheck(customXMLPart);
if(errMsg!=null){
throw("Error: Not able to getCustomXMLPart; "+errMsg);
}
var v_cp;
if(customXMLPart==""){
v_cp=null;
}else{
v_cp = MLA.createXMLDOM(customXMLPart);
}
return v_cp;
}
MLA.addCustomXMLPart = function(customPartXml)
{
var v_customPart ="";
if(customPartXml.xml){
v_customPart=customPartXml.xml;
}
else{
v_customPart=customPartXml
}
var newId = window.external.addCustomXMLPart(v_customPart);
var errMsg = MLA.errorCheck(newId);
if(errMsg!=null)
throw("Error: Not able to addCustomXMLPart; "+errMsg);
if(newId =="")
newId=null;
return newId;
}
MLA.deleteCustomXMLPart = function(customXMLPartId)
{
var deletedPart = window.external.deleteCustomXMLPart(customXMLPartId);
var errMsg = MLA.errorCheck(deletedPart);
if(errMsg!=null)
throw("Error: Not able to deleteCustomXMLPart; "+errMsg);
if(deletedPart=="")
deletedPart = null;
}
MLA.getConfiguration = function()
{
var version = window.external.getAddinVersion();
var color = window.external.getOfficeColor();
var webUrl = window.external.getBrowserURL();
if(version == "" || color == "" || webUrl == "")
throw("Error: Not able to access configuration info.");
MLA.config = {
"version":version,
"url":webUrl,
"theme":color
};
return MLA.config;
}
MLA.getActiveWorkbookName = function()
{
var wbName = window.external.getActiveWorkbookName();
var errMsg = MLA.errorCheck(wbName);
if(errMsg!=null)
throw("Error: Not able to getActiveWorkbookName; "+errMsg);
return wbName;
}
MLA.getActiveWorksheetName = function()
{
var wsName = window.external.getActiveWorksheetName();
var errMsg = MLA.errorCheck(wsName);
if(errMsg!=null)
throw("Error: Not able to getActiveWorksheetName; "+errMsg);
return wsName;
}
MLA.getSheetType = function(sheetName)
{
var wsType = window.external.getSheetType(sheetName);
var errMsg = MLA.errorCheck(wsType);
if(errMsg!=null)
throw("Error: Not able to getSheetName; "+errMsg);
return wsType;
}
MLA.getAllWorkbookNames = function()
{
var names = window.external.getAllWorkbookNames();
var errMsg = MLA.errorCheck(names);
if(errMsg!=null)
throw("Error: Not able to getAllWorkbookNames; "+errMsg);
var wbnames = names.split("|");
if(wbnames.length ==1){
if (wbnames[0] == null || wbnames[0] == ""){
wbnames.length = 0;
}
}
return wbnames;
}
MLA.getActiveWorkbookWorksheetNames = function()
{
var names = window.external.getActiveWorkbookWorksheetNames();
var errMsg = MLA.errorCheck(names);
if(errMsg!=null)
throw("Error: Not able to getActiveWorkbookWorksheetNames; "+errMsg);
var wsnames = names.split("|");
if(wsnames.length ==1){
if (wsnames[0] == null || wsnames[0] == ""){
wsnames.length = 0;
}
}
return wsnames;
}
MLA.addWorkbook = function(worksheetname)
{
var wb = window.external.addWorkbook(worksheetname);
var errMsg = MLA.errorCheck(wb);
if(errMsg!=null)
throw("Error: Not able to addWorkbook; "+errMsg);
return wb;
}
MLA.addWorksheet = function(sheetName)
{
var ws = window.external.addWorksheet(sheetName);
var errMsg = MLA.errorCheck(ws);
if(errMsg!=null)
throw("Error: Not able to addWorksheet; "+errMsg);
return ws;
}
MLA.setActiveWorkbook = function(workbookname)
{
var saw = window.external.setActiveWorkbook(workbookname);
var errMsg = MLA.errorCheck(saw);
if(errMsg!=null)
throw("Error: Not able to setActiveWorkbook; "+errMsg);
}
MLA.setActiveWorksheet = function(sheetname)
{
var saw = window.external.setActiveWorksheet(sheetname);
var errMsg = MLA.errorCheck(saw);
if(errMsg!=null)
throw("Error: Not able to setActiveWorksheet; "+errMsg);
}
MLA.addNamedRange = function(coord1,coord2,rngName, sheetName)
{
if(sheetName==null || sheetName==""){
sheetName="active";
}
var nr = window.external.addNamedRange(coord1,coord2,rngName,sheetName);
var errMsg = MLA.errorCheck(nr);
if(errMsg!=null)
throw("Error: Not able to name specified range; "+errMsg)
return nr;
}
MLA.addAutoFilter = function(coord1, coord2, sheetName, criteria1, operator, criteria2)
{
if(sheetName==null || sheetName==""){
sheetName="active";
}
if(criteria1==null){
criteria1="<>";
}
if(criteria2==null){
criteria2="missing";
}
if(operator==null){
operator="AND";
}
var rng = window.external.addAutoFilter(coord1,coord2,sheetName,criteria1,operator,criteria2);
var errMsg = MLA.errorCheck(rng);
if(errMsg!=null)
throw("Error: Not able to addAutoFilter; "+errMsg);
return rng;
}
MLA.getNamedRangeNames = function()
{
var nrs = window.external.getNamedRangeRangeNames();
var errMsg = MLA.errorCheck(nrs);
if(errMsg!=null)
throw("Error: Not able to getNamedRangeRangeNames; "+errMsg);
var nrsArray = nrs.split(":");
return nrsArray;
}
MLA.getWorksheetChartNames = function(sheetName)
{
var nrsArray="";
var nrs = window.external.getWorksheetChartNames(sheetName);
var errMsg = MLA.errorCheck(nrs);
if(errMsg!=null)
throw("Error: Not able to getWorksheetChartNames; "+errMsg);
if(nrs.length > 0)
nrsArray = nrs.split(":");
return nrsArray;
}
MLA.getWorksheetNamedRangeNames = function(sheetName)
{
var nrsArray="";
var nrs = window.external.getWorksheetNamedRangeRangeNames(sheetName);
var errMsg = MLA.errorCheck(nrs);
if(errMsg!=null)
throw("Error: Not able to getWorksheetNamedRangeRangeNames; "+errMsg);
if(nrs.length > 0)
nrsArray = nrs.split(":");
return nrsArray;
}
MLA.setActiveRangeByName = function(name)
{
var msg = window.external.setActiveRangeByName(name);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to setActiveRangeByName; "+errMsg);
return msg;
}
MLA.clearNamedRange = function(rangeName)
{
var msg=window.external.clearNamedRange(rangeName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to clearNamedRange; "+errMsg);
return msg;
}
MLA.clearRange = function(coord1,coord2)
{
var msg=window.external.clearRange(coord1,coord2);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to clearRange; "+errMsg);
return msg;
}
MLA.removeNamedRange = function(name)
{
var msg = window.external.removeNamedRange(name);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to removeNamedRange; "+errMsg);
return msg;
}
MLA.getSelectedRangeCoordinates = function()
{
var msg = window.external.getSelectedRangeCoordinates();
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to setSelectedRangeCoordinates; "+errMsg);
return msg;
}
MLA.getSelectedRangeName = function()
{
var msg = window.external.getSelectedRangeName();
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getSelectedRangeName; "+errMsg);
return msg;
}
MLA.getSelectedChartName = function()
{
var msg = window.external.getSelectedChartName();
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getSelectedChartName; "+errMsg);
return msg;
}
MLA.getSelectedCells = function()
{
var cellresults = window.external.getSelectedCells();
var errMsg = MLA.errorCheck(cellresults);
if(errMsg!=null)
throw("Error: Not able to getSelectedCells; "+errMsg);
var cellstring = "{ \"cells\" : "+cellresults+"}";
var cells = eval('('+cellstring+')');
var cellArray = new Array();
for(var i =0;i<cells.cells.length;i++){
var cell = cells.cells[i];
var mlacell = new MLA.Cell();
mlacell=cell;
cellArray[i]=mlacell;
}
return cellArray;
}
MLA.getActiveCell = function()
{
var cellinfo = window.external.getActiveCell();
var errMsg = MLA.errorCheck(cellinfo);
if(errMsg!=null)
throw("Error: Not able to getActiveCell; "+errMsg);
var cellValues = cellinfo.split(":");
var rowIdx = cellValues[0];
var colIdx = cellValues[1];
var newCell = new MLA.Cell(parseInt(rowIdx),parseInt(colIdx));
if(cellValues[2]==""){
newCell.value2=null;
}else{
newCell.value2 = cellValues[2];
}
if(cellValues[3]==""){
newCell.formula=null;
}else{
newCell.formula = cellValues[3];
}
return newCell;
}
MLA.getActiveCellRange = function()
{
var cell = window.external.getActiveCellRange();
var errMsg = MLA.errorCheck(cell);
if(errMsg!=null)
throw("Error: Not able to getActiveCellRange; "+errMsg);
return cell;
}
MLA.getActiveCellText = function()
{
var cellstring = window.external.getActiveCellText();
var errMsg = MLA.errorCheck(cellstring);
if(errMsg!=null)
throw("Error: Not able to getActiveCellText; "+errMsg);
var cell = eval('('+cellstring+')');
var mlaCell = new MLA.Cell();
mlaCell = cell;
return mlaCell;
}
MLA.setActiveCellValue = function(value)
{
var msg = window.external.setActiveCellValue(value);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to setActiveCellValue; "+errMsg);
return msg;
}
MLA.setCellValue = function(cells, sheetname)
{
if(sheetname==null)
sheetname="active";
var v_array = MLA.isArray(cells);
if(v_array){
for(var i =0; i<cells.length; i++){
var msg = window.external.setCellValueA1(cells[i].coordinate, cells[i].value2, sheetname);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to setCellValue; "+errMsg);
}
}
return msg;
}
MLA.convertA1ToR1C1 = function(coord)
{
var msg=window.external.convertA1ToR1C1(coord);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to convertA1toR1C1; "+errMsg);
return msg;
}
MLA.convertR1C1ToA1 = function(rowIdx, colIdx)
{
var msg=window.external.convertR1C1ToA1(rowIdx, colIdx);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to convertR1C1toA1; "+errMsg);
return msg;
}
MLA.clearWorksheet = function(sheetName)
{
if(sheetName==null || sheetName==""){
sheetName="active";
}
var msg=window.external.clearWorksheet(sheetName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to clearWorksheet; "+errMsg);
return msg;
}
MLA.getTempPath = function()
{
var msg=window.external.getTempPath();
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getTempPath; "+errMsg);
return msg;
}
MLA.saveActiveWorkbook = function(tmpPath, doctitle, url, uname,pwd)
{
var msg = window.external.saveActiveWorkbook(tmpPath, doctitle, url,uname,pwd);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to saveActiveWorkbook; "+errMsg);
return msg;
}
MLA.openXlsx = function(tmpPath, docuri, url, uname, pwd)
{
var msg = window.external.OpenXlsx(tmpPath, docuri, url, uname,pwd);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to openXlsx; "+errMsg);
return msg;
}
MLA.exportChartImagePNG = function(chartPath)
{
var msg = window.external.exportChartImagePNG(chartPath);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to exportChartImagePNG; "+errMsg);
return msg;
}
MLA.deletePicture = function(sheetName, imageName)
{
var msg = window.external.deletePicture(sheetName, imageName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to deletePicture; "+errMsg);
return msg;
}
MLA.insertBase64ToImage = function(base64String, sheetName)
{
if(sheetName==null || sheetName==""){
sheetName="active";
}
var msg = window.external.insertBase64ToImage(base64String, sheetName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to insertBase64ToImage; "+errMsg);
return msg;
}
MLA.base64EncodeImage = function(chartPath)
{
var msg = window.external.base64EncodeImage(chartPath);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to base64EncodeImage; "+errMsg);
return msg;
}
MLA.deleteFile = function(filePath)
{
var msg = window.external.deleteFile(filePath);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to deleteFile; "+errMsg);
return msg;
}
MLA.addChartObjectMouseDownEvents = function(sheetName)
{
var msg = window.external.addChartObjectMouseDownEvents(sheetName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to addChartObjectMouseDownEvents; "+errMsg);
return msg;
}
MLA.removeChartObjectMouseDownEvents = function(sheetName)
{
var msg = window.external.removeChartObjectMouseDownEvents(sheetName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to removeChartObjectMouseDownEvents; "+errMsg);
return msg;
}
MLA.getMacroText = function(index)
{
var source = window.external.getMacroText(index);
var errMsg = MLA.errorCheck(source);
if(errMsg!=null)
throw("Error: Not able to getMacroText; "+errMsg);
return source;
}
MLA.runMacro = function(macroName)
{
var msg = window.external.runMacro(macroName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to runMacro; "+errMsg);
return msg;
}
MLA.getMacroName = function(index)
{
var msg = window.external.getMacroName(index);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getMacroName; "+errMsg);
return msg;
}
MLA.getMacroType = function(index)
{
var msg = window.external.getMacroType(index);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getMacroType; "+errMsg);
return msg;
}
MLA.getMacroProcedureName = function(index)
{
var msg = window.external.getMacroProcedureName(index);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getMacroProcedureName; "+errMsg);
return msg;
}
MLA.getMacroComments = function(index)
{
var msg = window.external.getMacroComments(index);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getMacroComments; "+errMsg);
return msg;
}
MLA.getMacroSignature= function(index)
{
var msg = window.external.getMacroSignature(index);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to getMacroSignature; "+errMsg);
return msg;
}
MLA.getMacroCount = function()
{
var msg=window.external.getMacroCount();
return msg;
}
MLA.addMacro= function(source, componenType)
{
var msg = window.external.addMacro(source, componenType);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to addMacro; "+errMsg);
return msg;
}
MLA.removeMacro= function(macroName)
{
var msg = window.external.removeMacro(macroName);
var errMsg = MLA.errorCheck(msg);
if(errMsg!=null)
throw("Error: Not able to removeMacro; "+errMsg);
return msg;
}
Documentation generated by
JSDoc on Mon May 9 09:07:22 2011