google-apps-script - 获取表索引
问题描述
在 Google Docs 中,您可以使用以下代码获取表格数组
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var tables = body.getTables();
但是,如果我使用光标获取表的元素,我想知道该元素属于数组中的哪个表。有一些方法可以获取表中元素的行和单元格,但我找不到任何方法可以为我提供表数组中父表的索引。有什么建议么?
var doc = DocumentApp.getActiveDocument();
var cursor = doc.getCursor();
解决方案
感谢@ziganotschka,我找到了解决方案。
function test() {
try {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var cursor = doc.getCursor();
var element = cursor.getElement();
while( element.getType() !== DocumentApp.ElementType.TABLE ) {
element = element.getParent();
if( element === null ) return; // did not pick a table
}
var bIndex = element.getParent().getChildIndex(element);
Logger.log("bIndex= "+bIndex);
var i = 0;
var tIndex = -1;
var child = null;
while( i <= bIndex ) {
child = body.getChild(i);
Logger.log("i= "+i+" child= "+child)
if( child.getType() === DocumentApp.ElementType.TABLE ) tIndex++;
i++;
}
DocumentApp.getUi().alert("tIndex= "+tIndex);
}
catch(err) {
Logger.log("Error in test: "+err);
}
};
推荐阅读
- c - 面临寻找大数立方体的问题
- apache-kafka - 如何为 Kafka 中的集群配置 server.properties
- java - 如何从集合中的excel数据中找到一些字符串元素?.contains 方法在我的情况下不起作用
- javascript - 如何使用不同的表 id 显示两个 html 表?
- python - PyInstaller Orange3 __main__ Python 脚本调用不同文件夹中的脚本不起作用
- java - 保存后休眠插入
- javascript - 页面显示纯 html 文本而不是呈现 html 表
- java - Java对工厂方法的DAO定义
- dask - 在所有 dask.distributed worker / scheduler 中维护一个 git 存储库
- python - Flake8 E901 print() 语句的意外行为