我是谷歌应用程序的新手,我知道已经提出了类似的问题,但他们只是解决了类似的问题。我希望你能帮助我。
我想通过按钮将Google文档中的有效文本复制到给定的电子表格中。我已经完成了电子表格到电子表格的类似工作,但我没有将文档发送到电子表格。
function onOpen(e) {
DocumentApp.getUi()
.createMenu('Copy active Range.')
.addItem('Copy Button', 'Copy')
.addToUi();
}
function Copy() {
var ss = DocumentApp.getActiveDocument();
var selection = ss.getSelection();
var tss = SpreadsheetApp.openById("xxx");
var ts = tss.getSheetByName("name");
trange = ts.getRange("B6:B6")
selection.copyto(trange);
}
提前感谢所有人投入时间思考我的问题。
答案 0 :(得分:0)
您可以尝试此代码
var SPREADSHEET_ID = "YYYY"; // = assign your spreadsheet id to this variable
var SHEET_NAME = "XXXXX"; // = assign your sheet name to this variable
function onOpen(e) {
DocumentApp.getUi()
.createMenu('Copy active Range.')
.addItem('Copy Button', 'Copy')
.addToUi();
}
function Copy() {
var ss = DocumentApp.getActiveDocument();
var selection = ss.getSelection();
var result = "";
//Proceed only if something is selected, otherwise selection will be null
if (selection) {
var elements = selection.getRangeElements();
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
// Only modify elements that can be edited as text; skip images and other non-text elements.
if (element.getElement().editAsText) {
result += element.getElement().asText().getText();
}
}
var tss = SpreadsheetApp.openById(SPREADSHEET_ID);
var ts = tss.getSheetByName(SHEET_NAME);
trange = ts.getRange(2, 6); //I think, you can use B6 also
trange.setValue(result);
}
}
这不是经过测试的代码,如果弹出任何错误,请告诉我。我很乐意一起调试。
如果有效,请接受/推荐此答案,以便其他人也可以从中获得帮助。