【轻维表】函数速查表名、ID/视图名、ID

阅读次数 116

通过getSheet()查询表名称或者ID,传入名称返回表ID,传入ID返回表名称 通过getViews()查询视图名称或者ID,传入名称返回表ID,传入ID返回表名称

复制以下代码到脚本里,仅限轻维表使用,如需智能表里的数据表使用,可自行修改

var g_SheetsList = null;
const API = Application;
function getSheets(p_Sheet) {
  //传入ID则返回name,传入name则返回ID
  let l_type = typeof(p_Sheet);
  let ret_ID = null;
  let ret_Name = null;
  if (g_SheetsList == null)   g_SheetsList = API.Sheet.GetSheets();
    for (let key in g_SheetsList) {
      if(g_SheetsList[key].id == p_Sheet || p_Sheet == null || g_SheetsList[key].name == p_Sheet){//如果ID为null则打印全部表
        console.log('['+key+ "] : " + g_SheetsList[key].id+' = '+ g_SheetsList[key].name);
        ret_ID = g_SheetsList[key].id;
        ret_Name = g_SheetsList[key].name;
      }
    }
  
  if(l_type == "string") {
    return ret_ID;
  } else if (l_type == "number") {
    return ret_Name
  } 
  return null;
}
function getViews(p_Sheet,p_Viesw) {
  //根据表ID和视图名称或ID返回视图ID或名称
  let l_type = typeof(p_Sheet);
  if (l_type != "number" && l_type == "string") {
    p_Sheet = getSheets(p_Sheet);
  }
  l_type = typeof(p_Viesw);
  var views = API.View.GetViews({ SheetId: p_Sheet });
  for(let obj of views) {
    let l_vwID = obj['id'];
    let l_vwName = obj['name'];
  if(l_type == "string") {
    if(p_Viesw == l_vwName) return l_vwID;
  } else if (l_type == "number") {
    if(p_Viesw == l_vwiD) return l_vwName;
  } 
  }
}

0 Answers