1
在documentation sample之後,我試圖創建一個函數,在google文檔中搜索一個已編號的列表,如果它找到它,就向列表中添加一個新項目。我的代碼運行良好(感謝@Serge insas以前的幫助)字符串,但不適用於段落對象。我知道我可以得到段落文本並將其添加到listItem中,但是然後我失去了格式化。有沒有辦法插入一段保留所有格式的段落? (我知道我可以使用var newElement = child.getParent().insertListItem(childIndex, elementContent.getText())
不要插入文本無話在格式化)如何在listItem中插入段落對象,以保存段落每個單詞的格式化?
下面的代碼:
function test() {
var targetDocId = "1A02VhxOWLUIdl8LTV1tt2S1yASDbOq77VbsUpxPa6vk";
var targetDoc = DocumentApp.openById(targetDocId);
var body = targetDoc.getBody();
var elementContent = targetDoc.getChild(2); // a paragraph with its formating
var childIndex = 0;
for (var p= 0; p< targetDoc.getNumChildren(); p++) {
var child = targetDoc.getChild(p);
if (child.getType() == DocumentApp.ElementType.LIST_ITEM){
while(child.getType() == DocumentApp.ElementType.LIST_ITEM){
child = targetDoc.getChild(p)
Logger.log("child = " + child.getText())
childIndex = body.getChildIndex(child);
Logger.log(childIndex)
p++
}
child = targetDoc.getChild(p-2);
var listId = child.getListId();
if (child.getText() == '') {
childIndex = childIndex -1;
}
Logger.log(childIndex)
var newElement = child.getParent().insertListItem(childIndex, elementContent);
newElement.setListId(child);
var lastEmptyItem = targetDoc.getChild(childIndex +1).removeFromParent();
break;
}
這裏我targetDoc的屏幕截圖(注意第二項,Paragraph
):