如何复制活动文件并使用命名范围中的值命名它 - Google 脚本

Posted

技术标签:

【中文标题】如何复制活动文件并使用命名范围中的值命名它 - Google 脚本【英文标题】:How do I copy the active file and name it using a value in a Named range - Goolgle script 【发布时间】:2022-01-06 06:31:40 【问题描述】:

我是一名 VBA 专家,正在努力掌握 Google 表格中的 Google 脚本。 我正在尝试创建活动文件的副本并从命名范围中对其进行命名。我可以复制它,但新文件的名称最终是“范围”。

这是我的代码。

function SaveFileAndCopy() 
  var spreadsheet = SpreadsheetApp.getActive();
  var rffilename = spreadsheet.getRangeByName("rfFileName");
  spreadsheet.copy(rffilename);
  ;

【问题讨论】:

【参考方案1】:

那么,下面的修改呢?

发件人:

var rffilename = spreadsheet.getRangeByName("rfFileName");

收件人:

var rffilename = spreadsheet.getRangeByName("rfFileName").getValue();
在这种情况下,请使用getValue() 检索单元格值。 或者,当您想使用单元格的显示值时,也可以使用getDisplayValue() 而不是getValue()

参考资料:

getValue() getDisplayValue()

【讨论】:

感谢您的回复田池。我尝试了您的建议,最终得到了一个名为“function () [native code] ”的文件。 @Jenny S. 感谢您的回复。从您对I tried your suggestions and ended up with a file named "function () [native code] ". 的回复中,我担心您可能无法正确反映我提出的答案。因为当你修改为var rffilename = spreadsheet.getRangeByName("rfFileName").getValue 时,就会出现这样的问题。在这种情况下,getValue 不会作为函数运行。如果我的理解是正确的,请加()likevar rffilename = spreadsheet.getRangeByName("rfFileName").getValue()再测试一下。如果我的理解不正确,我再次道歉。 啊-我的错-我错过了 getValue 之后的括号-现在它在那里并且可以完美地工作。非常感谢。哈-您的答复得出了相同的结论。我真的在用谷歌脚本苦苦挣扎。 VBA 容易多了 :-) @Jenny S. 感谢您再次回复和测试。我很高兴你的问题得到了解决。也谢谢你。

以上是关于如何复制活动文件并使用命名范围中的值命名它 - Google 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 adf 重命名文件,因为它们被复制到新位置

For循环复制粘贴文件夹并使用增量重命名它

VBA:将命名范围粘贴为值

将图表从单元格范围更改为命名范围

bat脚本照片复制重命名?

使用批处理复制并以时间规则重命名文件