- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
过去几周我一直在努力解决这个问题,所以我真的希望有人能帮助我解决这个问题。另外,我对代码非常陌生,这基本上激发了我对它的兴趣。
我想做的是为 Google Sheet 编写一个 Google Apps 脚本,并将其链接到入站和出站 Slack webhook,以便我可以在 Slack 中发布 PO# 等命令,并且它将填充一个使用数组公式内置 vlookup
列的电子表格,然后我想在 Slack 中发回从 Vlookup
中提取的数据。我最初有这个想法from this link 。
我已经非常接近了,但我不知道如何让脚本将 Vlookup
数据发布到 Slack 中。这是它的外观照片,其中突出显示的单元格是 vlookup
列:
下面是我正在处理的 Google Apps 脚本代码:
function doPost(req) {
var sheets = SpreadsheetApp.openById('googlesheet_link');
var params = req.parameters;
var nR = getNextRow(sheets) + 1;
if (params.token == "slack_webhook") {
//ALREADY IN SHEETS
var supplier
// PROCESS TEXT FROM MESSAGE
var textRaw = String(params.text).replace(/^\s*update\s*:*\s*/gi,'');
var text = textRaw.split(/\s*;\s*/g);
// FALL BACK TO DEFAULT TEXT IF NO UPDATE PROVIDED
var project = text[0] || "No Project Specified";
var purchaseorder = text[1] || "No update provided";
var today = text[2] || "No update provided";
var blockers = text[3] || "No update provided";
// RECORD TIMESTAMP AND USER NAME IN SPREADSHEET
sheets.getRangeByName('timestamp').getCell(nR,1).setValue(new Date());
sheets.getRangeByName('user').getCell(nR,1).setValue(params.user_name);
// RECORD UPDATE INFORMATION INTO SPREADSHEET
sheets.getRangeByName('project').getCell(nR,1).setValue(project);
sheets.getRangeByName('purchaseorder').getCell(nR,1).setValue(purchaseorder);
sheets.getRangeByName('today').getCell(nR,1).setValue(today);
sheets.getRangeByName('blockers').getCell(nR,1).setValue(blockers);
var channel = "updates";
postResponse(channel,params.channel_name,project,params.user_name,purchaseorder,today,blockers,supplier);
} else {
return;
}
}
function getNextRow(sheets) {
var timestamps = sheets.getRangeByName("timestamp").getValues();
for (i in timestamps) {
if(timestamps[i][0] == "") {
return Number(i);
break;
}
}
//AND THEN THIS IS THE RETURN//
function postResponse(channel, srcChannel, project, userName, purchaseorder, today, blockers,supplier) {
var payload = {
"channel": "#" + channel,
"username": "Trackbot3000",
"icon_emoji": ":robot_face:",
"link_names": 1,
"attachments":[
{
"fallback": "This is an update from a Slackbot integrated into your organization. Your client chose not to show the attachment.",
"pretext": "*" + project + "* posted an update for stand-up. (Posted by @" + userName + " in #" + srcChannel + ")",
"mrkdwn_in": ["pretext"],
"color": "#D00000",
"fields":[
{
"title":"Yesterday",
"value": purchaseorder,
"short":false
},
{
"title":"Today",
"value": today,
"short":false
},
{
"title":"Blockers",
"value": blockers,
"short": false
},
{
"title":"Supplier",
"value": supplier,
"short": false
}
]
}
]
};
var url = 'slack_webhook_link';
var options = {
'method': 'post',
'payload': JSON.stringify(payload)
};
var response = UrlFetchApp.fetch(url,options);
}
最佳答案
我半解决了这个问题。我最终只是使用 Google Script App 代码的第一部分将 Slack 中的数据填充到 google 工作表上,并去掉了//ANDTHEN IS THE RETURN//部分。然后我对 google 工作表中的 Vlookup 列使用 IF 和 ArrayFormula。然后我使用 Automation.io 作为新行触发器,将其发送回 slack。以防万一其他人想要这样做。
关于google-apps-script - Slack > Gsheet > VLookup > Slack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52280849/
我不确定这是否可行。我有大量的电子表格,并且公式需要更新。如何将公式从一个单元格或一组单元格复制到另一个单元格?我使用过 gspread ,它似乎只能处理值。我需要 python 基本上将公式粘贴到数
作为我之前在这里发布的问题的后续 - Excel/GSheets count unique versus reoccuring values in dynamic list我希望计算 30k+ 网络研
我希望能够在我的 Google 表格上实现这一目标。 要求。 如果 B 列不等于单词“Pending”。删除该行 如果该行已更新且该行 B 列上的内容已更新且不等于“Pending”字样。也删除该行。
我刚刚开始尝试编写一些脚本,所以我想我会从简单的开始。不幸的是,该工作表已超时,我收到此错误消息: “噢,啪!”:Chrome 在加载您尝试查看的网页时遇到问题。 我想将所有单元格向左对齐,将所有字体
这在 1* 数据表上更容易解决,但我试图将每周数量的数据分组为每日 #,以使工作更轻松。 =query({ARRAYFORMULA(if(BinCountData!A3, "Store0",)(Bin
我的许多 BQ 表都从 GSheets 中获取数据。但是,一旦我从 Apps 脚本对这些表运行查询,我就会收到此错误: Access Denied: BigQuery BigQuery: No OAu
我有一个系统,可以自动将文件上传到 Gdrive,Gdrive 会搜索这些文件,将它们组合起来,并将模板表添加到组合表中。 在模板 gsheet 中,我需要能够引用其他选项卡内的单元格,而不使用选项卡
我对 gsheet 包版本 0.2.1 有一些疑问。这是我的 shiny 代码。 urlA <- "https://docs.google.com/spreadsheets/d/1lVVGg2iRLt
我的 google 表格,值只是一个例子 出于隐私原因,这只是一个 gsheet 作为示例。 在我的实际 gsheet 中,我使用 python 自动附加数据。但是我的表不需要超过 50 行。我如何在
具体来说,我需要一个脚本来帮助我清除多行中的值,但不清除这些行上的公式。 我尝试过 .clearContent ,它似乎只是完全清除整行,而没有任何保留公式的选项。 我知道可能有一些附加组件可以帮助处
我想从 gsheet 将数据上传到 bigquery 中的表,我的意思是我想用代码而不是 add on 上传数据,因为它会在稍后安排。是否有任何代码示例可以用于这两种方式(追加和 chop )?我有一
此代码将在正确的单元格中插入正确的日期,但似乎在每次循环之后(移到下一行之前)日期都会更改为未定义。这只发生在 var = expDelivery 所有其他日期都可以。 我不确定为什么它会正确插入日期
我想使用 javascript 验证一个范围 任何有 $ 符号的范围都必须说无效 任何具有除 : 之外的符号的范围字符串必须说无效 可接受的字符是大写或小写字母和 0-9 数字 一些预期的结果 A0
过去几周我一直在努力解决这个问题,所以我真的希望有人能帮助我解决这个问题。另外,我对代码非常陌生,这基本上激发了我对它的兴趣。 我想做的是为 Google Sheet 编写一个 Google Apps
我有一个带有公式的 Google 表格,它检查一列并根据该公式向另一列添加一个值。它在 Google 表格中正常工作,但是当我尝试将工作表转换为 Excel 时,IFS 功能不起作用。如何在 Exce
最近从全职 Google Sheets -> Excel 转移,我仍然习惯于缺少一些东西......我需要使用空格分隔符(“”)在 Excel 中拆分单元格。 我正在寻找一种使用 Excel 中的公式
我正在拔头发。我有以下代码,并且一直在尝试弄清楚如何使用其名称获取 gsheet 文件的 ID。我的目标是按名称查找文件,然后获取 ID,然后从该文件中获取一个范围并将其输出到事件工作表中 funct
我正在尝试编写一个应用程序脚本并将其分配给一个按钮。当按下按钮时,它将激活一个我命名为 clockin() 的函数。这个函数的作用是在 B 列上查找今天的日期,并在 C 列上写入当前时间。问题是这段代
我正在尝试通过 Google Apps Script Web App 使用 Google Table Visualization API 显示 Google Spreadsheet 范围。我计划将 W
获取 2020 年 3 月 9 日至 2020 年 4 月 5 日期间的日期时,GS 代码会休息一天返回 2020年3月9日至2020年4月5日之间的所有日期都不正确。 Google 工作表添加日期列
我是一名优秀的程序员,十分优秀!