javascript - 使用 .indexOf() 定义 .getRange()
问题描述
我目前正在尝试使用.indexOf
数组.getValues()
值来定义我想要复制超链接的单元格(作为概念证明)。
代码如下所示:
var descriptionColumn = headerArray[0].indexOf("Description")
sheet.getRange(sheet.getLastRow() + 1, descriptionColumn + 1).setFormula('=HYPERLINK("www.google.com"; "Test")')
Logger.log(descriptionColumn)
headerArray 填充如下:
var headerArray = sheet.getRange(1, 1, 1, lastColumn).getValues();
现在日志向我显示,descriptionColumn
返回为“3.0”。位置 3 是正确的,但我不确定“.0”是否与下一个代码混淆。因为每当我descriptionColumn
在该.setFormula
区域进行更换时,我的代码都会起作用。知道我做错了什么以及如何解决吗?我.indexOf()
在其他地方使用引用另一个数组的索引没有问题。只有在这里我不让它工作..
编辑:可重复的示例和发现。非常感谢您迄今为止的所有帮助,很抱歉这么晚才回来!
同时我发现,其中一个问题是 sheet.getLastRow() 之后的“+ 1”
sheet.getRange(sheet.getLastRow() + 1, descriptionColumn + 1).setFormula('=HYPERLINK("www.google.com"; "Test")')
老实说,我还不完全理解为什么会这样,但是通过将它定位在我的代码的最后(这样插入时它确实是 lastRow,我能够解决这个问题(将它保存在一个单独的变量中,例如与“descriptionColumn”一样也没有帮助..)。我理解 .getLastRow 返回一个整数,所以理论上 + 1 操作应该不是问题,对吧?很高兴知道我是否有问题。
所以最后用下面的代码我能够按计划插入超链接。确实从 .setValue 而不是 .setFormula 开始确实对我有很大帮助,所以谢谢!:)
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var headerArray = sheet.getRange(1, 1, 1, lastColumn).getValues();
var projectRef = "TEST123"
var folderID = DriveApp.getFolderById("SOME FOLDERID").createFolder(projectRef).getId()
var descriptionColumn = parseInt(headerArray[0].indexOf("Description"))
sheet.getRange(sheet.getLastRow(), descriptionColumn + 1).setFormula('=HYPERLINK("https://drive.google.com/drive/folders/' + folderID + '"; "' + projectRef + '")')
解决方案
但我不确定“.0”是否与下一个代码混淆
不,这不是问题
只有在这里我无法正常工作
我们看不到您的错误,或描述出了什么问题。
--- 调试步骤: ---
将 .setFormula 替换为 .setValue("Test") 以查看您是否针对正确的单元格(列)
如果可行,那么问题出在您的公式中
推荐阅读
- python-3.x - twilio/python/flask: TWIMLET 实现的语音邮件超时?
- visual-studio-code - VSCode:不同的终端帐户
- maven - 带有属性激活配置文件的 maven-release-plugin
- excel - 在 Excel 中删除点并保持前导零
- mysql - 使用 OCI 和 MySQL 构建 DLL 和 LabView 一直失败
- rstudio - 手动编辑 RStudio 词典中的拼写条目
- docker - 如何在 Spinnaker 中将 Jfrog Artifactory 添加为 docker 注册表?
- swift - Xcode 10 错误:链接器命令失败,退出代码为 1
- python - PyQt5:使用类创建 Windows
- javascript - 如何检测我的 iFrame 是否被其他网站使用?