根据用户需求生成Google Apps脚本,实现自动化任务。
以下是一个能够满足您需求的 Google Apps 脚本。此脚本会从 Google Sheets 中读取员工的邮箱地址,生成会议通知的邮件正文,然后自动向所有员工批量发送电子邮件。 --- ### 脚本代码 ```javascript function sendMeetingNotifications() { // Step 1: 访问 Google Sheet const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 获取当前活动的工作表 const data = sheet.getDataRange().getValues(); // 获取整个表格的数据 // Step 2: 遍历表格数据 for (let i = 1; i < data.length; i++) { // 跳过第一行表头 (假设第一行存储列名) const name = data[i][0]; // 第一列代表员工姓名 const email = data[i][1]; // 第二列代表员工邮箱 const meetingDate = data[i][2]; // 第三列代表会议时间 const meetingLocation = data[i][3]; // 第四列代表会议地点 // Step 3: 自定义邮件内容 const subject = "会议通知 - 请查收"; // 邮件主题 const body = ` 亲爱的 ${name}: 您好! 这是关于即将召开的会议的通知。会议的详细信息如下: - 会议日期:${meetingDate} - 会议地点:${meetingLocation} 请您准时参加会议。如有任何问题,请随时联系办公室。 谢谢! 此致敬礼, 办公室管理 `; // Step 4: 自动发送邮件 if (email) { // 确保邮箱地址不为空 GmailApp.sendEmail(email, subject, body); // 使用 Gmail 服务发送邮件 } } } ``` --- ### 使用说明 1. **准备数据** - 在 Google Sheets 中创建一个电子表格,并填充以下列的数据: - 第 1 列:员工姓名,例如“张三” - 第 2 列:员工邮箱地址,例如“zhangsan@example.com” - 第 3 列:会议时间,例如“2023-12-15 10:00 AM” - 第 4 列:会议地点,例如“公司会议室A” 例如: ``` 姓名 | 邮箱 | 会议时间 | 会议地点 张三 | zhangsan@example.com | 2023-12-15 10:00 | 公司会议室A 李四 | lisi@example.com | 2023-12-15 10:00 | 公司会议室A ``` 2. **创建脚本** - 在 Google Sheets 中,依次点击 "扩展程序" > "Apps 脚本"。 - 将上面的脚本代码复制并粘贴到 Apps Script 编辑器中,保存项目。 3. **运行脚本** - 在 Apps Script 编辑器中,选择 `sendMeetingNotifications` 函数,点击工具栏中的“运行”按钮。 - 如果这是您首次运行脚本,Google 会提示您授权。按照屏幕提示完成授权。 4. **测试和验证** - 确保所有员工已经收到会议通知邮件。您可以检查 Sheet 数据和员工收到的邮箱是否一致。 --- ### 脚本各部分的作用 1. **数据读取** - `const data = sheet.getDataRange().getValues();` 从整个工作表中读取数据,作为一个二维数组返回。 2. **数据遍历** - `for (let i = 1; i < data.length; i++)` 遍历数据记录,跳过表头。 3. **邮件正文生成** - `const body = ...` 动态替换每个员工的姓名、会议时间与地点,生成个性化的邮件内容。 4. **发送邮件** - `GmailApp.sendEmail(email, subject, body);` 使用 Gmail 服务向指定邮箱发送邮件,邮件标题和正文动态生成。 --- ### 注意事项 1. 确保电子表格中数据格式正确,员工的邮箱地址不可为空。 2. 如果员工数量较多,可能受限于 Google Apps Script 的执行时间限制(6 分钟)。可以根据需要调整为分批发送。 如有进一步问题或需要调整,请随时提出!
为了帮助小微企业主自动生成库存报告,以下是一个 Google Apps 脚本示例。脚本的主要目标是从企业库存的 Google Sheets 文档中读取数据,分析库存的变化趋势,并将每日库存报告通过电子邮件发送到指定的收件人。 假设库存数据(表单收集的结果)存储在一个 Google Sheets 工作表中,并且我们可以定期读取更新后的数据。 ### 脚本功能 1. **读取 Google Sheets 中的库存数据**。 2. **分析库存变化趋势(例如,计算库存增加或减少,确定有哪些商品较低库存等)**。 3. **生成一份库存报告的摘要内容**。 4. **通过 Gmail 自动发送库存报告邮件**。 5. **设置触发器,使脚本每日定时运行**。 --- #### 获取必要的信息 在编写脚本前需要进一步明确以下事项: 1. **Google Sheets 表单 URL**:库存数据存储的位置。 2. **库存表格结构**:表格是否有必要的列,例如产品名称、库存数量、库存变动量等。 3. **目标邮件地址**:要把报告发送给谁?(可以是单一地址或多个地址) 4. **报告中需要看的指标**:只分析库存数量?低库存提醒?还是其他? 如果未提供这些细节,我会参考通用需求进行实现。 --- ### 脚本实现 下面是一个完整的 Google Apps 脚本: ```javascript function generateInventoryReport() { // 1. 打开电子表格 const spreadsheetUrl = "https://docs.google.com/spreadsheets/d/your-spreadsheet-id"; // 替换为您的库存表单链接 const sheet = SpreadsheetApp.openByUrl(spreadsheetUrl).getSheetByName("Sheet1"); // 替换为您的工作表名称 // 2. 读取表格数据 const data = sheet.getDataRange().getValues(); const header = data[0]; // 首行标题 const rows = data.slice(1); // 数据行 // 3. 定义关键列索引(参考 headers 找到“产品名称”、“库存数量”等信息) const productNameIndex = header.indexOf("Product Name"); // 替换为列标题 const stockQuantityIndex = header.indexOf("Stock Quantity"); const stockChangeIndex = header.indexOf("Stock Change"); // 4. 分析库存变化趋势 let lowStockItems = []; let decreasingStockItems = []; rows.forEach(row => { const productName = row[productNameIndex]; const stockQuantity = row[stockQuantityIndex]; const stockChange = row[stockChangeIndex]; // 检查低库存(低于 10 的产品) if (stockQuantity < 10) { lowStockItems.push(`${productName}: 库存 ${stockQuantity}`); } // 检查库存减少的产品 if (stockChange < 0) { decreasingStockItems.push(`${productName}: 减少 ${Math.abs(stockChange)}`); } }); // 5. 生成报告内容 let report = "每日库存报告\n\n"; if (lowStockItems.length > 0) { report += "低库存提醒:\n" + lowStockItems.join("\n") + "\n\n"; } else { report += "所有产品库存充足。\n\n"; } if (decreasingStockItems.length > 0) { report += "库存减少情况:\n" + decreasingStockItems.join("\n") + "\n\n"; } else { report += "无减少库存的产品。\n\n"; } report += "感谢使用我们的系统!"; // 6. 定义电子邮件参数 const recipient = "example@email.com"; // 替换为收件人的电子邮件 const subject = "每日库存报告"; const body = report; // 7. 发送电子邮件 GmailApp.sendEmail(recipient, subject, body); Logger.log("库存报告已发送!"); } // 8. 创建每日触发器(手动运行一次即可设置定时任务) function createDailyTrigger() { ScriptApp.newTrigger("generateInventoryReport") .timeBased() .everyDays(1) .atHour(8) // 设置每天早上8点发送报告 .create(); } ``` --- ### 脚本解释 #### 第 1 步:打开 Google Sheets 通过 `SpreadsheetApp.openByUrl()` 打开指定的库存表单,然后获取库存数据所在的工作表。 #### 第 2 步:读取表格数据 `getDataRange().getValues()` 方法返回表格的所有数据(二维数组)。上面我们通过 `slice(1)` 排除标题行,只获取数据部分。 #### 第 3 步:分析数据 我们通过解析数据,识别低库存产品和库存下降的产品: - 如果库存数量 **低于 10**,会将产品加入 `lowStockItems`。 - 如果库存变化 `Stock Change` 为负数,则认为该产品库存正在减少。 #### 第 4 步:生成报告 拼接一个简单的字符串报告,描述各类库存情况。 #### 第 5 步:发送邮件 利用 `GmailApp.sendEmail()` 方法,通过邮件发送每日库存报告。把邮件收件人替换为实际地址。 #### 第 6 步:每日触发器 使用 `ScriptApp.newTrigger()` 配置脚本的定时运行,让 `generateInventoryReport()` 每日自动执行。 --- ### 使用方法 1. 打开 Google Apps 脚本编辑器(在 Google Drive 中点击 `扩展程序 > Apps 脚本`)。 2. 创建一个新的脚本项目,将上述代码粘贴进去。 3. 根据需要替换 `spreadsheetUrl`、工作表名称 (`Sheet1`) 以及邮件地址。 4. 运行一次 `createDailyTrigger()`,创建每日自动触发器。 5. 检查邮件,确认收到每日报告。 --- 如果需要进一步修改或增加功能(如增加库存图表生成、发送到多邮件地址等),可以随时告诉我!
根据您的需求,我们需要一个 Google Apps 脚本来自动化处理学生作业的批改记录,本脚本的功能包括以下几点: 1. 读取 Google Sheets 表格中的学生名单及他们的作业完成情况。 2. 根据完成情况生成批改记录。 3. 将生成的批改记录更新到另一个目标表格中。 以下是实现此功能的 Google Apps 脚本以及详细的解释。 --- ### Google Apps 脚本代码: ```javascript /** * 批量管理学生作业批改记录 * * 该脚本从源电子表格中读取学生名单和作业完成情况, * 根据这些数据生成批改记录,并将记录写入目标表格中。 */ function manageAssignmentGrading() { // 定义源和目标表格信息 const sourceSpreadsheetId = "SOURCE_SPREADSHEET_ID"; // 替换为源表格的ID const targetSpreadsheetId = "TARGET_SPREADSHEET_ID"; // 替换为目标表格的ID const sourceSheetName = "StudentData"; // 源表格中存储学生名单和完成情况的工作表名称 const targetSheetName = "GradingRecords"; // 目标表格中存储批改记录的工作表名称 // 打开源表格和目标表格 const sourceSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetId); const targetSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetId); const sourceSheet = sourceSpreadsheet.getSheetByName(sourceSheetName); const targetSheet = targetSpreadsheet.getSheetByName(targetSheetName); // 读取源表格的所有数据,假设第一行是表头 const sourceData = sourceSheet.getDataRange().getValues(); const header = sourceData[0]; // 表头 const studentData = sourceData.slice(1); // 学生数据,从第二行开始 // 获取批改记录的时间戳 const currentDate = new Date(); const formattedDate = Utilities.formatDate(currentDate, Session.getScriptTimeZone(), "yyyy-MM-dd"); // 准备批改记录数据 const gradingRecords = studentData.map((row) => { const studentName = row[0]; // 假设第一列是学生姓名 const assignmentStatus = row[1]; // 假设第二列是作业完成情况 let grade = ""; // 评分初始化 // 根据完成情况生成评分 if (assignmentStatus.toLowerCase() === "completed") { grade = "A"; // 如果完成,评分为A } else if (assignmentStatus.toLowerCase() === "incomplete") { grade = "C"; // 如果未完成,评分为C } else { grade = "B"; // 默认评分为B,适用于其他情况 } // 返回生成的批改记录 return [studentName, assignmentStatus, grade, formattedDate]; }); // 写入到目标表格 targetSheet.clear(); // 清空目标表格中现有数据 targetSheet.appendRow(["Student Name", "Assignment Status", "Grade", "Date"]); // 写入表头 targetSheet.getRange(2, 1, gradingRecords.length, gradingRecords[0].length).setValues(gradingRecords); // 通知用户操作完成 SpreadsheetApp.getUi().alert("批改记录已成功生成并更新到目标表格中!"); } ``` --- ### 代码详解: 1. **定义表格 ID 和工作表名称**: - `sourceSpreadsheetId` 和 `targetSpreadsheetId` 分别是源表格和目标表格的唯一 ID,需要在脚本中替换成实际的表格 ID。 - `sourceSheetName` 和 `targetSheetName` 是工作表的名称,分别对应学生数据和批改记录的工作表。 2. **读取数据**: - `sourceSheet.getDataRange().getValues()`:从源表格工作表中获取全部数据,包括表头和学生记录。 - `studentData.slice(1)`:移除第一行表头,只保留学生数据。 3. **生成批改记录**: - 遍历学生数据,通过映射 (`map`) 方法基于作业完成情况生成评分。 - 假设: - 完成(`completed`)= A - 未完成(`incomplete`)= C - 其他情况默认评分为 B。 - 自动生成时间戳,记录批改的日期。 4. **更新目标表格**: - 清空目标工作表中的旧数据,用 `targetSheet.clear()` 方法清除内容。 - 添加表头和生成的批改记录。 5. **操作完成通知**: - 使用 `SpreadsheetApp.getUi().alert()` 方法通知用户操作完成。 --- ### 使用方法: 1. 打开 [Google Apps 脚本编辑器](https://script.google.com/)。 2. 创建一个新项目,将以上代码粘贴进去。 3. 在脚本中将 `SOURCE_SPREADSHEET_ID` 和 `TARGET_SPREADSHEET_ID` 替换为您的实际表格 ID(可从 Google Sheets 链接中获取)。 4. 保存脚本,给定一个名称,如 "学生作业批改记录管理"。 5. 点击运行按钮首次执行脚本,并根据弹出的授权提示授权脚本访问您的 Google Drive。 6. 每次需要处理批改记录时,只需运行 `manageAssignmentGrading` 函数,脚本会自动生成批改记录并更新到目标表格中。 --- 如果您有其他需求或需调整逻辑,请随时告诉我!
简化日常任务,无需编程经验即可创建自动化脚本,轻松实现批量发送邮件或数据处理。
用脚本自动化管理数据、生成报表,提高业务运营效率,节省人工与时间成本。
批量管理学生档案、发送通知或组织日程,让教学管理更高效、更智能化。
满足脚本开发探索需求,学习如何实现个人或团队自动化解决方案,快速提升技能。
高效完成数据输入、文档整理等重复性工作,专注于更具价值的客户服务或创意开发。
通过生成定制化的Google Apps脚本,帮助用户快速实现办公流程的自动化、提高工作效率,降低操作复杂度,满足特定场景的需求。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期