【问题标题】:How to Programatically Access Google Spreadsheet File Name如何以编程方式访问 Google 电子表格文件名
【发布时间】:2016-11-15 22:14:40
【问题描述】:

问题很简单。如何使用电子表格标识符获取电子表格的名称(Google Drive 中的文件名)。如果您想知道我为什么需要它,请继续阅读。

我创建了两种类型的电子表格来管理我与朋友、家人和企业的财务账簿。

类型 1:包含与特定人的所有交易并说明欠款或借出金额的书。我有大约 15 张这样的床单。检查此屏幕截图:

类型 2:名为投资的工作表。它使用工作表标识符从所有其他工作表中获取数据,并显示投资或借入的总金额。检查此屏幕截图:

在第 2 类工作表中,我已对所有内容进行了编程并使一切自动化。您只需将任何新电子表格的标识符粘贴到 G 列中即可。只有一件事是杀了我。我无法使用标识符获取电子表格的名称。我使用 IMPORTRANGE 方法获取了工作表的所有记录,只是没有获取文件名。我尝试了很多功能。

黄色列表示自动列。我只想在类型 2 电子表格的情况下使 B 列自动。它应该包含通过工作表标识符获取的电子表格文件名,就像我获取多张工作表的所有行并在类型 2 工作表中进行计算一样。感谢您考虑帮助我。

【问题讨论】:

  • 请提供更多详细信息(请参阅minimal reproducible example 了解预期内容)。
  • 问题很简单。我想使用工作表 ID 获取谷歌电子表格的文件名。 Bardy 给出的代码面临权限问题。
  • 您找到解决方案了吗?

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


【解决方案1】:

如果我正确理解了您的问题,您想从表格 ID 中获取表格文件的名称吗?怎么样:

var spreadsheetId = 'YOUR_SPREADSHEET_ID';
var sheetName = SpreadsheetApp.openById(spreadsheetId).getName();

【讨论】:

  • 你说得对。我正在检查它是否有效并且会在稍后更新。谢谢!
  • 它会抛出一个错误:您没有执行该操作的权限。 (第 3 行)。我正在传递一个静态工作表 ID。我什至无法获取我正在编写代码的文件的名称。我尝试了另一件事。我在脚本编辑器中执行了代码。它要求此代码要管理您的电子表格的权限。我允许了。还是没有运气。
  • 请在问题中提供您的代码,以便我们查看您是如何编写的。考虑到我在 SE 上读到的一些内容,如果你真的在代码中写了var spreadsheetId = 'YOUR_SPREADSHEET_ID';,我不会感到惊讶
  • 我是一名开发人员,我了解代码 :) 我对谷歌表格和 javascript 都是新手,并且坚持这一点。最初我在电子表格变量中传递了静态值。检查这个function GetSheetName() { var spreadsheetId = '1DMwEWSwV-E_vA1GGhWCL8oD6U4g0ze7FjlW6kDIzqEA'; var sheetName = SpreadsheetApp.openById(spreadsheetId).getName(); return sheetName; } 接下来我尝试将工作表 ID 作为参数传递。检查这个:function GetSheetName(Id) { return SpreadsheetApp.openById(Id).getName(); } 没什么帮助。似乎 getName 方法的权限问题。
  • @KunalKhanna :将代码添加到问题中,描述您如何运行它以及是否与您共享相关文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多