Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据从特定单元格复制到不同文件夹中具有不同格式的不同工作表中

将数据从特定单元格复制到不同文件夹中具有不同格式的不同工作表中
EN

Stack Overflow用户
提问于 2019-11-08 17:37:00
回答 2查看 107关注 0票数 0

在一个google工作表中,我想运行一个脚本(通过脚本附加按钮),该脚本将另一个不同的工作表复制到另一个目标文件夹中,同时根据第一个工作表中的单元格值命名新文件。谁能给我指明正确的方向?到目前为止,我的情况如下:

代码语言:javascript
运行
AI代码解释
复制
  function onOpen(e) {                   
  var jobTitle = SpreadsheetApp.getActiveSpreadsheet().getName();
  SpreadsheetApp.getActiveSpreadsheet().getRange("B3").setValue(jobTitle);
   }
  function CreateManFile8() {           
  var copyMan = DriveApp.getFileById("Source ID");                                  
  var toFolder = DriveApp.getFolderById("Destination ID");                                                   
  copyMan.makeCopy(toFolder);
   }

第一个函数很好,因为它允许我复制第一个电子表格模板,命名它,然后命名为onOpen,文件名进入输入表的适当单元格,它通过标准工作表引用公式填充整个电子表格。第二个功能就是复制“人”。模板(从第一个"Sales“模板内部)并将其放入适当的文件夹中,而不更改名称。

我需要一个给男人起名字的方法。根据B3 (或任何指定单元格)中的值从销售SpreadSheet模板中获取的模板。我将脚本附加到Sales模板内的一个按钮上,但它只是复制第二个模板并将其命名为"Source“,而不是B3的值。

发行背景:(供有兴趣者参考)

我在工作中管理的每一个项目都需要包含在“销售电子表格”模板中的销售流程,该模板由几个相互链接的工作表组成,管理流程包含在一个“管理电子表格”模板中,该模板由几个其他相互链接(带有标准公式)表组成。最后,这两个电子表格模板都被复制并用于每个新项目。

首先,每个销售前景都使用销售过程,这些过程导致销售电子表格模板在整个销售过程中被复制、重命名并以迭代方式填充相关的客户和销售数据。然后,在某个时候,签订涉及管理过程的合同,从而复制、命名“管理电子表格”模板,并将其用于项目。

这样做的目的是在销售模板被手动命名并填充销售过程中收集的信息之后,从'Sales模板‘中复制"Man. Template“。

在任何项目的管理阶段收集、分析和报告的大多数数据都不同于协商销售过程所需的数据,但需要以编程方式将每个项目的少量冗余数据从销售模板转移到管理模板。

因此,我来到YOU...the堆栈溢出社区进行指导。任何认真的、以服务为导向的人提供帮助都会受到真正的感谢.

我知道你们大多数人都比我聪明。这是没有帮助的提醒。所以,任何一个真正想要帮助一个人的人,仅仅因为他们喜欢编码并且想要分享它,我就迫不及待地想听到你的消息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-11 02:36:24

如果我正确理解,您需要一个函数,该函数在指定的文件夹中生成电子表格的副本,并以B3单元格的值作为名称。

您可以尝试对您的函数进行以下修改:

代码语言:javascript
运行
AI代码解释
复制
  function CreateManFile8() {           
     var copyMan = DriveApp.getFileById("spreadsheet Id").getId();    
     var toFolder = DriveApp.getFolderById("folder Id");       

     var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
     var sheetName = sheet.getRange('B3').getDisplayValue();

     DriveApp.getFileById(copyMan).makeCopy(sheetName, toFolder);  

}

您可以查看makeCopygetDisplayValue的文档以获得更多信息。

票数 0
EN

Stack Overflow用户

发布于 2019-11-08 23:35:51

这只是一个示例,您必须为您的目的修改它,这将将一个文件从任何文件夹复制到其他具有新名称的文件夹:

代码语言:javascript
运行
AI代码解释
复制
function CreateFile8() {
  //This assumes the folders are unique, so I don't use ID
  var folders=DriveApp.getFoldersByName('Sistem Folder'); //myfolder = 'my drive' > 'sistem folder'

  if (folders.hasNext())
  {
    var mySrcFolder = folders.next();
    var Destfolders = mySrcFolder.getFoldersByName('Test'); //myDestfolder = 'my drive' > 'sistem folder' > 'Test'
    var files=mySrcFolder.getFilesByName('Jojo'); //file jojo will be copied (only if not exist), and Jojo is as template
    if (files.hasNext() && Destfolders.hasNext())
    {
      var DestFolder = Destfolders.next();
      var myFile = files.next();
      var Destfiles=DestFolder.getFilesByName('Jobe'); //file jojo will be copied (only if not exist in dest), and Jojo is as template
      if (Destfiles.hasNext()==false)
      myFile.makeCopy('Jobe', DestFolder); //And jobe is extracted from your sheet, I don't adopt here to extract from your sheet
    }
  }  
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58775640

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档