Google Docs 中的自动增量文件名?

2023-12-22

如何为我的所有帐户向文档添加功能,当我打开新文档的文件时,它希望找到我现在所在的文件夹 + 最后一个文件名并递增 1 并保存。

对于默认的 Google 文档,保存名为“无标题文档”的文档,但我希望它保存它:

文件夹_1.1001.doc
文件夹_1.1002.doc

如果我在下一个文件夹 2 中创建文件:

文件夹_2.001.doc
文件夹_2.002.doc。

我的错误代码:

// Show current folder name & root folder name
function makeFilename() {

  // Get current folder name
  var ui = DocumentApp.getUi();
  thisFileId = DocumentApp.getActiveDocument().getId();

  var thisFile = DriveApp.getFolderById(thisFileId);
  var parentFolder = thisFile.getParents();
  var currentFolderName = parentFolder.next();
  ui.alert(currentFolderName);

  // get all files in currentFolderName
  var files = parentFolder;
  while (files.hasNext()) {
    var file = files.next();  
   //  Logger.log(file.getName());
   DocumentApp.getUi().alert(file.getName());
  }
}

这是示例代码:

// Show current folder name 
function makeFilename() {

  // Get current file name
  const ui = DocumentApp.getUi(),
    doc = DocumentApp.getActiveDocument(), //Added
    thisFileId = doc.getId(),
    thisFileName = doc.getName();

  const thisFile = DriveApp.getFileById(thisFileId);//Modified from getFolderById
  const parentFolder = thisFile.getParents();
  const currentFolder = parentFolder.next();//Modified from currentFolderName
  const currentFolderName = currentFolder.getName();//Added
  //ui.alert(currentFolderName);

  /*Store a init file in root to getLatestFileNumber*/
  var initIter = DriveApp.getFilesByName(currentFolderName + 'init000'),
    initBool = initIter.hasNext(),
    init;
  if (!initBool) {
    init = DriveApp.createFile(currentFolderName + 'init000', '0');
  } else {
    init = initIter.next();
  }

  /*Get current Number and format it to 4 digits*/
  var currentNum = init.getBlob().getDataAsString() * 1 + 1,
    formatNum = ('00000' + currentNum).substr(-4);

  /*If filename already contains folderName, do nothing*/
  if (!(thisFileName.search(currentFolderName) + 1)) {
    doc.setName(currentFolderName + formatNum).saveAndClose();
    init.setContent(currentNum);
  }
}

参考:

  • File https://developers.google.com/apps-script/reference/drive/file
  • 文档#setName https://developers.google.com/apps-script/reference/document/document#setName(String)
  • Blob https://developers.google.com/apps-script/reference/base/blob
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Docs 中的自动增量文件名? 的相关文章

  • 向文档添加动态页眉/页脚

    我想知道是否有一种方法可以向文档添加动态页眉或页脚 即在页脚中添加每个页面都不同的 页面标题 据我所知 编辑内置页眉或页脚将反映在每个页面上 我想知道是否有人想到了一种解决方法 通过访问页面上的第一行 最后一行并在那里插入文本来 强制 它
  • 如何编辑范围? // Google Classroom 控制 Google Apps 脚本中学生访问的权限范围

    我是一名高中老师 正在针对 Google Classroom 编写 Google Apps 脚本 我想创建一个类似于学生成绩视图的电子表格 我的学生可以使用他们的凭据进行访问 我已经成功编写了代码 这样我就可以通过在代码中显式放置学生的 I
  • 有没有办法将 Google 文档分割成多个 PDF?

    我想在 Google Scripts VBA 代码中复制我为 Word 文档编写的代码 基本上 它通过搜索我插入文档中的标签 将文档 切片 为多个 PDF 文件 目的是允许合唱团使用 forScore 管理乐谱的应用程序 在切片点插入先前注
  • Google 文档有内容控制吗?

    我对 Google 文档和内容控制有疑问 如果有的话 我们有一个系统 允许用户设计带有内容控件 rtf 文本 组合框等 的 MS Word 文档 并为控件分配一个 ID 以便我们的系统可以提取 ID 并注册答案 然后数据被保存在数据库中 什
  • 测量填写部分的时间 - 谷歌表单

    我正在尝试使用谷歌表单进行研究调查问卷 对于某些部分 我想自动测量用户填写所需的时间 谷歌表单中没有这样的选项 我尝试复制表单源 并用 javascript 填充时间 但它不起作用 跨源问题 未能成功托管复制的表单 如何做到 我如何衡量回答
  • 阻止用户在共享的 Google 电子表格中创建新工作表

    我创建了一个电子表格 其中除单个单元格之外的所有工作表都受到保护 无法编辑 用户应该在其中输入搜索值 该搜索值会过滤工作表 我共享了启用编辑功能的电子表格 以实现这一点 但这也使用户能够创建新工作表 这是我想阻止的 也许我没有使用最佳的方式
  • 如何在表单提交时运行 Appscript?

    我正在尝试创建当用户完成表单提交时重定向到网络应用程序的 Google 表单 我查过谷歌开发者文档 https developers google com apps script guides triggers 但我看不到一种简单的方法来做
  • 列出 Google 云端硬盘上特定演示文稿/文档的所有共享用户

    我们需要一份完整的列表 列出已获得 Google 云端硬盘上特定演示文稿 文档的 共享 查看权限的人员 我们有屏幕截图 但可能还不够 我们如何以编程方式检索这些信息 附加到 a 的属性File对象包括三个与用户相关的项目 Owner 一个单
  • 正则表达式 - 使用正则表达式提取电子邮件文档的子字符串

    我正在尝试使用正则表达式提取电子邮件文档的子字符串 我正在在线测试正则表达式 它运行得很好 在线正则表达式测试器 https regex101 com r BbWBPk 1 我有一个功能可以检查 Google Apps 脚本上的正则表达式
  • 如何下载以前保存的 Google Apps 脚本修订版本?

    我仍在尝试从中恢复不知何故 丢失 了 Google Apps 脚本 https stackoverflow com questions 33697789 当我创建脚本的副本以将代码分叉到另一个项目时 我的想法是尝试通过驱动器 API 下载
  • 许多文档引用了一个 Google Apps 脚本 [重复]

    这个问题在这里已经有答案了 我已经通过驻留在 Google 文档中的 Google Apps 脚本创建了一个脚本 我使用该文档作为模板对象 然后将其复制到我使用这些脚本函数的许多 Google 文档中 问题是 每当我编辑该主脚本时 所有子文
  • 删除或删除云端硬盘中的特定文件

    我有一个每天早上 5 点运行的脚本 它将特定文件 data xls 移至垃圾箱 但是 由于 DocsList 已停用 该脚本不再起作用 并且我在更新它时遇到了问题 我在这里看到了几个删除 setTrashed 脚本 但它们似乎都适用于一组文
  • Google Apps 脚本中 ui.alert 窗口中的分割线和粗体文本

    我觉得这应该很简单 但我找不到任何相关内容 我希望我的消息在 ui alert 窗口中弹出 以粗体显示某些单词并在以下位置分割字符串 进入新行 这是我的代码 function send var ui SpreadsheetApp getUi
  • 自动从外部数据库加载 Google 电子表格数据

    我有一个共享的 Google 电子表格 工作表的某些列必须填充数据库服务器 PostgreSQL 中存在的数据 SQL 查询 此外 数据加载必须安排为自动完成 例如每天 1 点 最后 我需要在电子表格中进行一些调整 例如 加载后将日期时间放
  • 如何修复 OnChange 脚本,该脚本运行良好,但在修改 Google 表格后停止运行

    概述 工作簿根据每条记录的类别分数计算每条记录 或行 的总体分数 类别分数是通过对每个记录的数百个数据点执行的计算得出的 根据我在网上找到的几个示例和教程 我编译了代码以发送名为 checkComplete 的 onChange 电子邮件
  • 仅生成一张电子表格的 PDF

    我需要一个只用一张电子表格创建 PDF 的脚本 我目前有一个生成 PDF 的脚本 但它处理整个文件 我无法将这些值复制到另一个文件 因为我需要导出的工作表是带有从另一个工作表中提取的数据的图形 你可以帮帮我吗 谢谢 function myF
  • Google Apps 脚本中的地图对象支持

    Google Apps 脚本是否支持Map https developer mozilla org en docs Web JavaScript Reference Global Objects Map object 当我尝试使用它时 我得
  • 与 google 脚本一起使用时,币安搜索 API 返回 403

    我正在使用 binance API 来获取 USDT 的价格 该 API 适用于邮递员 但不适用于 google 脚本 function fetchCryptoPricesFromApi const data page 1 rows 10
  • 不允许从此上下文调用 Browser.inputBox()

    在我第一次使用 Google 脚本时 我尝试定义一个调用 Browser input 方法来获取用户名的函数 但我总是收到以下错误消息 不允许从此上下文中调用 Browser inputBox 我必须说 我是从葡萄牙语环境翻译的 因为英语中
  • ChartRangeFilter 作为谷歌时间轴图表的缩放功能,可使用数据视图从专用谷歌电子表格中读取数据

    我的目标是整合Whitehat 提供的这种缩放功能 https stackoverflow com questions 49306638 google timeline visualization dont change series ro

随机推荐

  • 仅获取所有父级 WooCommerce 类别

    我正在尝试获取 WooCommerce 的所有父类别 而不是子类别 terms get terms taxonomy gt product cat hide empty gt false parent gt 0 但它不起作用 如何仅获取父类
  • 如何根据列的顺序添加自增主键?

    我需要将自动增量 id 添加到已有的表中 我做了 ALTER TABLE table name ADD column name INT NOT NULL AUTO INCREMENT FIRST ADD PRIMARY KEY column
  • 取消选择 RowDetailsTemplate 后调整数据网格高度

    我正在使用 RowDetailsTemplate 显示行的嵌套数据网格 现在 当我选择一行来显示此嵌套数据网格时 数据网格的高度会扩展 但当取消选择该行时 它不会减少其高度 有没有办法在行详细信息折叠后将数据网格大小调整为其原始高度 是否可
  • 多对多关系的复选框

    class PlayerProfile lt ActiveRecord Base has many playing roles has many player roles through playing roles accepts nest
  • Magento 1.6.2 无法重新索引产品平面数据

    我们的 magento 1 6 2 无法重新索引产品平面数据 有时它还会显示 重新索引过程存在问题 我根据其他用户的经验尝试了很多解决方案 没有结果 我们进口了散装产品 但我们不确定这是重新索引问题的原因 理想的解决方案是什么 这是我在 s
  • 在版权符号之前插入特殊字符“”

    我们的源代码在每个 CSS 文件的顶部都包含版权 版权所有 每次 Firefox 样式编辑器加载 CSS 文件时 都会在版权符号之前插入一个特殊字符 版权所有 每次加载文件时它都会添加一个额外的特殊字符 我不认为这仅限于 Firefox 但
  • 将位图传递给在 logcat 上获取消息的其他活动 FAILED BINDER TRANSACTION

    当我将位图图像传递给其他活动时 我在 logcat 上收到 mag 03 20 12 06 56 553 E JavaBinder 280 FAILED BINDER TRANSACTION 它发生在大尺寸图像上 小尺寸图像运行良好 我该怎
  • 尝试使用实体框架保存大型 xml 时出现“ORA-00932:不一致的数据类型:预期的 NUMBER 获得 NCLOB”错误

    当我尝试使用 ADO NET 实体框架将具有大型 xml 的新记录插入具有 XmlType 列的 oracle 表时 出现以下错误 Oracle DataAccess Client OracleException Message ORA 0
  • 展开 pandas 数据框列中字典的嵌套列表

    我有一个名为 leads 的数据帧 是通过将 SFDC SOQL 的输出保存到数据帧中而得到的 我一直在尝试扩展 Leads r record 列 Company Month Amount Leads r done Leads r reco
  • 使用 ZeroMQ 的 C++ RPC 框架

    我需要使用 ZeroMQ 推拉套接字模式用 C 编写客户端 服务器应用程序 客户端必须对服务器接口中指定的函数进行 RPC 调用 我想知道是否有一个开源且商业可用的库 框架主要用于此目的 主要是 C 我做了一些谷歌搜索 似乎有一些用 pyt
  • Chrome 浏览器 - navigator.language 不返回国家/地区代码

    自最近几个月以来 我在从 window navigator language 检测 CountryCode 时遇到问题 我当前在 Chrome 上的语言是法语 瑞士 目前它仅返回语言 window navigator language fr
  • 通过列索引而不是列名称调用数据框中的列 - pandas

    如何使用数据框中的索引而不是名称来调用代码中的列 例如我有数据框df有柱子a b c 而不是打电话df a 我可以使用它的列索引来调用它吗df 1 您可以使用iloc http pandas pydata org pandas docs v
  • 即使使用代理,Nodejs 也不会为 React CRA 应用程序设置 cookie

    我有一个nodejs express React CRA 应用程序 我正在尝试从nodejs 设置一个cookie 服务器位于端口 4001 因此在我的 React 应用程序的 project json 中我有 proxy http loc
  • 如何制作操作系统启动时启动的启动程序

    假设我有一个 C 程序可以执行某些操作 我希望该程序继续自行运行或在计算机启动时自动开始执行 我怎样才能使这个程序不可检测 即它不能在任务管理器的进程列表中被检测到 假设我有一个在 Windows 窗体上显示随机数的程序 for Rando
  • 为什么scala不进行尾调用优化?

    只是玩延续 目标是创建将接收另一个函数作为参数和执行量的函数 并返回将应用参数给定次数的函数 实现看起来很明显 def n times T func T gt T count Int T gt T tailrec def n times c
  • Opera 框架有BUG吗?

  • 使用 MemberwiseClone 实现撤消/重做

    我正在尝试在 C 应用程序中实现撤消 重做堆栈 方法是在调用撤消时将对象恢复到之前的状态 我有一个 Action 类 基本上如下所示 class Action object old state object new state public
  • Android:是否可以将两个表面视图放在一起?

    我的想法是有两个表面视图 一个 SurfaceView 将保存图像 例如 ImageSurgaceView 第二个表面位于第一个表面之上 该表面保存注释 例如 AnnotationSurfaceView 如圆形 矩形等 现在我必须映射这些表
  • 标签应该使用逗号还是空格

    对于标记用户界面小部件是否应该需要逗号或空格作为分隔符 您有何看法 例如 该网站使用空格 需要多字标签才能使用连字符 我以为这是 Joel 的一些设计建议 但后来我意识到 Facebook 和 Wordpress 使用逗号 那么应该是什么呢
  • Google Docs 中的自动增量文件名?

    如何为我的所有帐户向文档添加功能 当我打开新文档的文件时 它希望找到我现在所在的文件夹 最后一个文件名并递增 1 并保存 对于默认的 Google 文档 保存名为 无标题文档 的文档 但我希望它保存它 文件夹 1 1001 doc文件夹 1