从Google电子表格中获取一系列单元格

时间:2016-11-08 17:46:00

标签: pdf google-apps-script google-sheets

在这里编码noob,试图学习......

我正在尝试在一个谷歌电子表格中获取一系列单元格(不与任何页面/表格边框相邻),将范围转换为pdf,然后将pdf作为电子邮件附件通过电子邮件发送到指定地址。我可以使用预先写好的插件,但后来我不会学习。一个人只能通过提问来学习。

我用Google搜索了答案,然后访问了这个网站(https://ctrlq.org/code/19869-email-google-spreadsheets-pdf)。麻烦的是,这个脚本将所有工作表发送到一个zip文件中。我不想这样做。我只想以PDF格式发送一系列选定单元格,这些单元格仅位于第一张表格中,而不是zip文件。

我几乎不存在的javascript教育告诉我,我的脚本使用以下代码片段来获取相关数据: (显然,我可能错了......)

// Get the currently active spreadsheet URL (link)
// Or use SpreadsheetApp.openByUrl("<<SPREADSHEET URL>>");
var ss = SpreadsheetApp.getActiveSpreadsheet();

我不知道我是否有正确的代码段,这就是我提供其来源网址的原因。无论如何,我只想发送从第2行第3列开始到第31行第12行结束的范围.7天后,我想使用另一个脚本发送不同的范围。

如何修改此脚本以实现我的目标?

感谢所有可以提供帮助的人!

1 个答案:

答案 0 :(得分:0)

首先,你需要了解你的要求以及它的真正含义。

正如Robin Gertenbach的评论中所述,您应首先查看Google Documentation。只有在你耗尽了信息之后,你应该在其他地方查找代码片段等。我之所以说这是因为范围很可能不是你认为的那样。范围对象本身不是您需要的数据,而是可用于获取信息的类。

例如,如果你想要值,你会做SpreadsheetApp.getActiveRange().getValues()这样会返回2个字符串值数组的东西。但是,没有这样的方法来输出字符串作为pdf。从逻辑上讲,PDF是一个文档,因此要获取PDF,您需要导出文档。最低的文档类型是实际的电子表格,在文档中您可以看到here

您可以想到的任何其他内容都来自Javascript,而不是Google Apps脚本,因此您可以在这里查看。这里唯一的选择是创建一个新的电子表格并将其另存为pdf,然后删除电子表格。

您所拥有的代码片段只是创建一个以整个电子表格作为对象的变量。