如何使用菜单 item/option 将活动文本从 google 文档复制到电子表格
How to copy active text from google docs to spreadsheet with menu item/option
我是 google 应用程序的新手,我知道有人问过类似的问题,但他们只解决了类似的问题。我希望你能帮助我。
我想通过按钮将活动文本从 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);
}
提前感谢大家花时间思考我的问题。
你可以试试这个代码
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);
}
}
这不是经过测试的代码,如果弹出任何错误,请告诉我。我很乐意一起调试。
如果有效,accepts/upvote这个答案,这样其他人也可以从中得到帮助。
我是 google 应用程序的新手,我知道有人问过类似的问题,但他们只解决了类似的问题。我希望你能帮助我。
我想通过按钮将活动文本从 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);
}
提前感谢大家花时间思考我的问题。
你可以试试这个代码
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);
}
}
这不是经过测试的代码,如果弹出任何错误,请告诉我。我很乐意一起调试。
如果有效,accepts/upvote这个答案,这样其他人也可以从中得到帮助。