Javascript 在Google应用程序脚本声明中删除超链接

Javascript 在Google应用程序脚本声明中删除超链接,javascript,google-apps-script,google-sheets,hyperlink,spreadsheet,Javascript,Google Apps Script,Google Sheets,Hyperlink,Spreadsheet,我想要一些关于在数组中管理超链接的建议 我有一个功能,可以将列数据从我的“数据”谷歌工作表电子表格传输到我的“度量”谷歌工作表电子表格。这很有效 但是,我正在传输的列包含一个超链接 (=超链接(“,“帖子链接#2655”) 将值传输到度量表时,超链接将被剥离 是否仍然可以通过删除超链接将此数据传输到其他电子表格 这里是我正在使用的函数 感谢你的洞察力 function Feed_Update_Test() { var Metrics = SpreadsheetApp.openById("1

我想要一些关于在数组中管理超链接的建议

我有一个功能,可以将列数据从我的“数据”谷歌工作表电子表格传输到我的“度量”谷歌工作表电子表格。这很有效

但是,我正在传输的列包含一个超链接

(=超链接(“,“帖子链接#2655”)

将值传输到度量表时,超链接将被剥离

是否仍然可以通过删除超链接将此数据传输到其他电子表格

这里是我正在使用的函数

感谢你的洞察力

function Feed_Update_Test() {

  var Metrics = SpreadsheetApp.openById("10Wl1B4AtdLHJXBbLbMQbSdtRyAb61biCWYpOQEEywIY"); 
  var Data = SpreadsheetApp.getActiveSpreadsheet(); // FEED Spreadsheet

  var FeedMetricSheet = Metrics.getSheetByName('Feature Metrics'); // Metrics Sheet 
  var FeedDataSheet = Data.getSheetByName("The Feed_Raw"); // Data Sheet

  var FeedDataRange = FeedDataSheet.getRange(2, 1, FeedDataSheet.getLastRow()-1,1); 

  var FeedDataLastRow = FeedDataSheet.getLastRow(); 

  var FeedMetricEmptyRange = FeedMetricSheet.getRange(2,1,FeedDataLastRow-1,1); 

  var FeedDataValues = FeedDataSheet.getRange(2,1,FeedDataLastRow-1,1).getValues(); 

  FeedMetricEmptyRange.setValues(FeedDataValues);

}
  • 您希望使用Google Apps脚本将值复制到另一个电子表格,而不将公式从活动电子表格中删除
如果我的理解是正确的,那么这个答案呢?请把它看作是几种可能的答案之一

修改脚本: 在这种情况下,包括值和公式在内的数据将被放入目标电子表格。根据您问题的公式,我认为可以使用这种方法。当您的脚本被修改时,请按照以下方式进行修改

发件人: 致: 参考资料:
如果我误解了你的问题,而这不是你想要的结果,我道歉

补充:

  • 从,
    问题。如何修改此代码以包含17列而不是一列?
不幸的是,我无法从您的回复中理解
17列
。因此,例如,当您想要检索“A1:Q”的单元格,即17列时,下面的修改如何

修改脚本: 发件人: 致:
  • 您希望使用Google Apps脚本将值复制到另一个电子表格,而不将公式从活动电子表格中删除
如果我的理解是正确的,那么这个答案呢?请把它看作是几种可能的答案之一

修改脚本: 在这种情况下,包括值和公式在内的数据将被放入目标电子表格。根据您问题的公式,我认为可以使用这种方法。当您的脚本被修改时,请按照以下方式进行修改

发件人: 致: 参考资料:
如果我误解了你的问题,而这不是你想要的结果,我道歉

补充:

  • 从,
    问题。如何修改此代码以包含17列而不是一列?
不幸的是,我无法从您的回复中理解
17列
。因此,例如,当您想要检索“A1:Q”的单元格,即17列时,下面的修改如何

修改脚本: 发件人: 致:
这是一个公式。你需要阅读公式,而不仅仅是值。考虑还使用<代码>范围>拷贝> <代码>。谢谢快速响应。让我给你一个镜头,让你知道我有一个错误:“执行失败:目标范围和源范围必须在同一个电子表格上。”我不能用这个吗?Copyto把数据传送到一个不同的电子表格?这是一个公式。你需要阅读公式,而不仅仅是值。考虑也使用<代码>范围>拷贝> <代码>。谢谢你的快速响应。“执行失败:目标范围和源范围必须在同一个电子表格上。"我可以不使用此.copyTo将数据传输到其他电子表格吗?问题。我如何修改此代码以包含17列而不是一列?@Neo感谢您的回答。对于我的回答不完整,我深表歉意。关于您的其他问题,我又添加了一个示例脚本。您能确认吗?如果我误解了您的问题,并且at不是您想要的方向,我道歉。这对我很有用。非常感谢!我真的很感谢您的帮助!@Neo感谢您的回复。我很高兴您的问题得到解决。问题。我如何修改此代码以包括17列而不是一列?@Neo感谢您的回复。我为我的回答不完整道歉。关于您的额外问题stion,我又添加了一个示例脚本。你能确认一下吗?如果我误解了你的问题,而这不是你想要的方向,我道歉。这对我很有用。非常感谢!我真的很感谢你的帮助!@Neo感谢你的回复。我很高兴你的问题得到了解决。
var FeedDataValues = FeedDataSheet.getRange(2,1,FeedDataLastRow-1,1).getValues();
var values = FeedDataRange.getValues();
var FeedDataValues = FeedDataRange.getFormulas().map(function([e], i) {return [e || values[i][0]]});
var FeedDataRange = FeedDataSheet.getRange(2, 1, FeedDataSheet.getLastRow()-1,1); 
var FeedDataLastRow = FeedDataSheet.getLastRow(); 
var FeedMetricEmptyRange = FeedMetricSheet.getRange(2,1,FeedDataLastRow-1,1); 
var FeedDataValues = FeedDataSheet.getRange(2,1,FeedDataLastRow-1,1).getValues(); 
FeedMetricEmptyRange.setValues(FeedDataValues);
var FeedDataRange = FeedDataSheet.getRange(2, 1, FeedDataSheet.getLastRow()-1, 17);
var values = FeedDataRange.getValues();
var FeedDataValues = FeedDataRange.getFormulas().map(function(e, i) {return e.map(function(f, j) {return f || values[i][j]})});
FeedMetricSheet.getRange(2, 1, FeedDataValues.length, FeedDataValues[0].length).setValues(FeedDataValues);