![](/img/trans.png)
[英]Copy a range from worksheet to google doc by replace text with table format
[英]Getting text from range in google sheets to a google doc NOT in a table
我已經閱讀了我可以在本網站和其他網站上找到的關於從谷歌表格中獲取文本並進入谷歌文檔的方法的所有內容。 我不想要表格中的“數據”。 處理的數據量並不大,因此我可以稍微修改源表並找到使用 ListItem 附加方法的解決方案。
這是我想出的:
function onOpen() {
const ui = SpreadsheetApp.getUi();
ui.createMenu('Agenda')
.addItem('CreateAgenda', 'createagenda')
.addToUi();
}
function createagenda() {
// take info from agenda topic google spreadsheet and put in a google doc
var documentId=DriveApp.getFileById('_______________').makeCopy().getId();
//add today's date to new filename
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var theDate = curr_month + "_" + curr_date + "_" + curr_year;
DriveApp.getFileById(documentId).setName(theDate + '_CommitteeAgenda');
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AgendaPlanning");
//Determine how many items are in the list to set count in For Loop
sheet.getRange('B2').activate(); // Starting cell in column with agenda items
sheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
var last_row_submissions = sheet.getCurrentCell().getRowIndex();
const body = DocumentApp.openById(documentId).getBody();
for (var i=2; i<= last_row_submissions; i++){
var currentline = sheet.getRange(i,14).getValue();
var agenda_item = body.appendListItem(currentline);
}
var documentsInPacket = sheet.getRange("B28").getValue();
var doclist = body.appendListItem(documentsInPacket);
}
在大多數情況下,這是有效的,因為議程文件上的項目已編號,但由於我使用了 ListItem 方法,因此最后一個項目 (Documents) 有一個我不想要的編號 (18)。 由於有人必須進入並輸入會議信息(縮放鏈接等),因此再做一件事並不可怕,但是......
? 有沒有更簡單的方法來做到這一點? 我可以去掉最后一項之前的數字嗎? 如何從工作表中獲取單元格的值並讓谷歌文檔將其作為文本接受?
謝謝!
您可以使用body.appendParagraph(documentsInPacket)
而不是body.appendListItem(documentsInPacket)
來實現您正在尋找的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.