Google apps script 在google文档脚本编辑器上创建的XML存在SOAP身份验证问题

我正在尝试(通过谷歌电子表格中的脚本编辑器)通过SOAP和WSDL()连接到API 我正在努力创建header XML对象,根据示例(来自上面的链接),它应该有两个元素,“UserAuthentication”和“getQuota”。 如果我只发送带有用户身份验证的报头,我会收到一个服务器错误的响应;如果我尝试发送这两个元素,就会出现身份验证错误 任何帮助都将不胜感激 **更新** 身份验证头似乎正在工作(或者至少没有返回任何错误);我现在得到的错误是“过程'getTransactionList

Google apps script 检查是否选中复选框

我没有找到任何内置函数来检查复选框是否设置为true或false, 如果我是对的,isChecked不可用是应用程序脚本。 你知道如何找到它吗?或者我们应该有一个值更改处理程序来计算值更改的次数,并确定是否检查了它 var handler = app.createServerClickHandler('tellStatus'); 然后作为示例,在标签中显示它 function tellStatus(e){ var app = UiApp.getActiveApplication();

Google apps script 自定义函数在电子表格中不起作用

我按照中的说明:创建自定义函数 我的函数甚至从教程中剪切粘贴都不起作用:这些函数在我的电子表格中不可用。我尝试过保存一个版本并将其发布为web应用程序,但没有任何更改。我试过谷歌浏览器和火狐浏览器,结果是一样的。我错过了一些非常明显的东西吗?不确定这是否是您遇到的…但发生在我身上的是,我没有在auto complete中看到我的自定义函数,我认为它不起作用。但是如果您在一个单元格中键入=double(A1)(使用官方示例,假设A1中有东西…),它将进行计算 您需要在自定义函数上方添加带有@cus

Google apps script “可怕的”;“需要授权”;用户尝试运行我的脚本时显示的消息

我正在开发一个GoogleApps脚本,我想它可以与“任何有链接的人”共享。该脚本应该定期处理用户Google驱动器中的一些文档。为此,我的用户应该创建一个时间驱动触发器 但是当有人试图运行脚本时,他收到了一个带有红色边框的警告:“需要授权…”这个警告看起来很可怕,我担心它是否会赶走我的用户 想知道是否有办法避免或缓和警告。谢谢。使用共享。让用户与您设置的帐户共享有问题的文档。这样他们就可以避免警告。也就是说,如果您更改代码,他们不需要切换到新版本。使用共享。让用户与您设置的帐户共享有问题的文档

Google apps script 未为联系人返回名称字段

当我去提取某个联系人的全名(getFullName())时,我的脚本不会返回任何东西。但是,当我在Gmail联系人界面中更改姓名时,它会返回姓名。如果我撤消更改,我就不会知道名称 有什么原因吗?联系人是我的另一个帐户,与我的G+帐户关联 这是一个非常有趣的发现。我也能用我的一些联系人重现这一点。这一定和这些联系人从何处导入或如何手动创建有关 然而,我深入挖掘了一下,我不认为这是一个应用程序脚本问题,而是一个谷歌应用程序联系人API问题。我发现同样的问题直接与此处记录的Google Contact

Google apps script Google应用程序脚本从单元格复制到新行

我的谷歌电子表格中有两张表格 主跟踪 每日跟踪 主跟踪从其他跟踪表中提取信息,并更新单元格M7中每个驾驶员的行驶里程数 我想用日期(A列)和行驶英里数(B列)设置每日跟踪 我想写一个谷歌应用程序脚本,将复制主跟踪数据!M7添加到每日跟踪(B列),但每次运行脚本时都添加到新行。我计划在每个工作日结束时使用触发器使其运行 到现在为止我还有这个,但它不起作用 function copyFunction() { var inputRange = SpreadsheetApp.getActiveSp

Google apps script 谷歌网站上的URL参数?

使用GoogleApps脚本小工具,我可以使用URL的参数(http://sites.google.com/.../my-page?urlparameter=value&otherurlparameter=value)添加到Google站点网页以生成动态内容 但是,如果您尝试使用参数添加到Google站点页面的链接,然后保存页面,则会删除参数:http://sites.google.com/.../my-page?urlparameter=value&otherurlparameter=valu

Google apps script 谷歌应用程序脚本:检查上传文件是否存在或为空

我尝试构建条件,以在提交之前检查文件是否已上载。目前的情况是,无论是否上传文件,发送/提交都是成功的。当我尝试使用var file=e.parameter.file获取文件时,它会给出一个字符串FileUpload。有人能帮我吗 function setFormUpload() { var sheet = SpreadsheetApp.getActiveSpreadsheet(); var app = UiApp.createApplication().setTitle("Upload

Google apps script 每次创建新行时为列设置默认值

我设置了一个谷歌表单,将响应放入谷歌电子表格,我在表单中添加了一些额外的列,以帮助我们监控每个响应的状态。是否有一种方法可以在每次创建新行时为列设置默认值?(即每次提交新答复时)。下面是我到目前为止的代码,但目前它只对一行执行 function setDefault() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var lastRow = ss.getLastR

Google apps script 提交与项目标签、谷歌表单(谷歌脚本)不同的值

我对谷歌脚本相当陌生,我遇到了一个问题。 我想向所选多选选项的标签提交一个不同的值 我正在编写一个脚本,生成一个表单,用于注册未来两周内发生的任何一个事件。这些事件是从日历中提取的。为了消除歧义,在将数组添加到MulipleChoice项列表之前,我将事件日期添加到事件名称中 我希望提交事件ID,而不是新创建的名称,因为它将使脚本对响应的管理变得更加简单 因此,这就是多项选择列表的外观: [] Event 1 20/06/14 [] Event 2 22/06/14 [] Event 3 23/

Google apps script 过滤包含(所有)早于使用gmail脚本的电子邮件的所有线程

我的目标是维护动态标签7d、14d和30d,分别列出过去7天、14天和30天的电子邮件/线程。我很高兴,如果脚本有一天的错误(例如,在7天半后的星期一列出一些星期天的电子邮件对我来说是可以的) 在学习使用gMail脚本的过程中,我必须在我的电脑上使用类似的东西: 脚本运行时没有错误,但我遇到的问题如下:“older_than:7d”查询也列出了包含7天以上邮件的线程。这样,从一些旧线程中删除了“7d”标签,我昨天对此进行了回复(根据示例)。是的,这是真的,这些线程都包含一些超过7天(和更新的14

Google apps script 谷歌应用程序脚本-制作表格后添加段落?

我对使用谷歌应用程序脚本还很陌生,所以如果这个问题的答案真的很明显,我提前道歉。下面是: 我已经从电子表格中创建了一个Google文档。我已经从电子表格中选择了特定的列,以显示在新创建的Google文档中格式良好的表格中。我想在创建表后附加一段。我甚至很乐意在表的末尾附加一行和一个单元格。我想这样做,这样我就可以在文档的末尾写一个简单的提醒 我尝试过使用table.appendTableRow(index),其中index是生成的最后一行的编号,但似乎不起作用。我尝试过使用body.append

Google apps script 我来盖章。如果你是这么要求的话,我不会给你编码的。您只需要正确地修改已有的代码。如果你真的陷入困境,用最少的代码问另一个重点明确的问题来重现你的问题。破译成吨的代码超出了这里的权限。 Team 1 var REQUEST_SENT = "REQUEST_S

我来盖章。如果你是这么要求的话,我不会给你编码的。您只需要正确地修改已有的代码。如果你真的陷入困境,用最少的代码问另一个重点明确的问题来重现你的问题。破译成吨的代码超出了这里的权限。 Team 1 var REQUEST_SENT = "REQUEST_SENT"; var REQUEST_APPROVED = "REQUEST_APPROVED"; var REQUEST_REJECTED = "REQUEST_REJECTED"; var REQUEST_SHIPPED = "REQUEST

Google apps script 如何在谷歌表单中添加一个简单的计算字段?

我正在寻找一种方法,在谷歌表单中添加简单的计算字段,它将依赖于其他字段的值 第一个字段是一个简单的价格字段,其中数量是用户输入的数字字段 第二个字段是结束日期now()+X个月,其中X由用户选择 我看了一下谷歌的教程,发现只有在我看来是表单范围的插件,我正在寻找更像自定义表单字段的插件 最好的解决方案是,当用户更改其他输入的值时计算字段,但在确认页面中使用简单文本也可以 如果有人能给我指出正确的方向,我将不胜感激。 谢谢。脚本只会影响表单的创建和提交后处理。您不能对用户当前查看的“实时”表单进行

Google apps script sendmail Google Apps脚本附件多个文件

我使用谷歌应用程序脚本发送带有文档附件(anexo.doc)的电子邮件 我需要在同一封电子邮件中发送2个附件(anexo.doc和anexo2.doc) 我是怎么做到的? 我的代码是: file = DriveApp.getFilesByName('anexo.doc'); if (file.hasNext()) { MailApp.sendEmail(tomail, subject, msg, { attachments: [file.next().g

Google apps script 如何在GoogleApps脚本中捕获具有相同标识符的多个GET参数

我有一个通过Google Apps脚本部署为Web应用程序的表单,还有几个字段允许您选择多个值(如多选下拉列表)。如果在GET请求中有多个具有相同标识符的值,则在应用程序脚本中仅获取第一个值作为参数 如何使用apps脚本捕获具有相同标识符的多个GET参数?解决了这个问题 在doGet或doPost函数中,您需要调用e.parameter而不是调用e.parameters,以获取与数组同名的多个参数 文件:

Google apps script 添加条件格式规则

GoogleSheets有一种很好的交互式方式来声明性地定义条件格式。有没有一种方法可以使用应用程序脚本编程相同的声明性模型 我有一个生成许多电子表格的脚本。我使用和类设置数据和数据验证规则。然而,我似乎不能对条件格式做同样的事情。我希望找到一个ConditionalFormattingRule对象或类似的东西 注意:我知道可以编写自定义脚本,用于侦听。但是,需要将该脚本添加到每个生成的电子表格中。此外,类似的非声明性规则不会出现在中 我只是尝试将红色背景应用于没有价值的单元格 这是不可能的吗?

Google apps script Google Sheets-自动生成以行中的单元格值命名并填充剩余行数据的工作表

我正在尝试使用Google Sheets脚本编辑器从表单创建一组表单,以创建以列“B”中每个单元格的值命名的单独表单,并填充第1行和第X行中的所有数据,其中X是每个表单的行值 到目前为止,我得到的是: function makeSheets() { var ss = SpreadsheetApp.getActive(); var sheets = ss.getSheets(); sheets[0].getRange('B2:B100') .getValues() .forEac

Google apps script 一换不开

我显然是做错了,因为世界上似乎没有人以前有过这个问题 我想在工作表末尾插入行时运行Google Apps脚本。我知道我需要使用onChange来实现这一点,所以我就是这么做的: 设置触发更改时应运行的脚本: function copyDownFormula(e) { Logger.log('something'); } 然后,我在触发器中将onChange触发器设置为: 然后我安装了以下代码,以便在使用onOpen触发器打开工作表时安装onChange触发器: ScriptApp.ne

Google apps script 谷歌脚本生成的VLOOKUP公式计算不正确

我正在以编程方式将公式写入单元格 以下代码行: formulaCells.setFormulaR1C1('=iferror(VLOOKUP(R[0]C[3],AutoCat!A:B,2,FALSE),“需要类别”) 将此公式充分写入目标Google Sheets文件中由formulaCells表示的所有单元格中 =iferror(VLOOKUP(D2,自动调用!A:B,2,FALSE),“需要类别”) 但问题是,当由Google脚本编写时,公式默认为错误标志“Requires Category”

Google apps script 提交时将表单数据链接到其他表单

我希望在这个问题上能得到任何帮助,因为我已经处于僵持状态好几个星期了 基本上,我使用谷歌表单为一个组织参加多个活动。初始表格允许官员提交新活动的名称以及一些其他信息。此表单将其所有数据导出到Google工作表。以下表单允许任何成员在输入错误时更新其出席情况,然后将该数据导出到与第一个表单不同的工作表中 我遇到的问题是,在第二种形式的多选网格中,将所有事件名称作为选项读取。我使用submitFormFunction()进行设置,每次提交表单时,它基本上都会重新读取所有事件,但当它这样做时,它会将每

Google apps script 谷歌日历API V3-如何将重复事件复制到其他日历?

我编写了一个GAS,它使用API V3将日期范围内的所有事件从一个日历复制到另一个日历。到现在为止,一直都还不错。 问题在于管理重复事件,因为recurringEventId属性可能无法手动管理。基本上,源日历上的重复事件被视为新日历中的单个事件,recurringEventId不能更改为“不可变” 有什么想法吗 类似于: function duplicates calendars(){ var calendardfrom='1〕xxxxxxxxxxxxx@group.calendar.goog

Google apps script 检查文件夹中的文件名,如果找不到,则导出为PDF

我对脚本编写非常陌生,现在已经尝试了很多小时了,所以我希望你能帮助我 我有一个dashfolder,其中包含名为“X”的谷歌表单,还有一个pdf文件夹,其中包含名为“X.pdf”的pdf文件。我正在尝试循环查找dashfiles+“.pdf”的名称,以查找缺少的名称,并最终在同一文件夹中创建其pdf。但是,我的脚本循环次数太多。如果pdf文件夹中已存在名为“+”.pdf”的文件,我希望它跳过dashfile。这是我的密码 function createPdf() { var pdfFolde

Google apps script GoogleSheets:InstallableTrigger似乎禁用了简单的触发器脚本

我有一个Google工作表,其中有一个函数,如果左边的列被更新,它可以在列中输入时间戳。它由简单的onedit触发器触发,并且只处理工作表中的一小部分单元格。几个月来,它对许多人都很有效 然后,我添加了一个脚本,在同一文档的一个单独选项卡上执行一些数据清理。我使用一个可安装的触发器,这样我就可以安排每周运行一次清理 不幸的是,虽然计划的可安装触发器清理例程现在可以工作,但原始的onedit简单触发器时间戳例程不能工作。更准确地说,时间戳例程适用于脚本作者我,但不适用于其他任何人 你知道怎么解决这

Google apps script 从Google工作表上的下一个单元格打开URL

我正在使用谷歌表单 我有两个按钮:按钮开始(单击会打开B2单元格中的第一个URL)和按钮下一步(单击会打开B3 URL,然后是B4,然后是B5,依此类推)。问题出在下一个函数上 有人能帮我解决这个问题吗 function start(){ var i=2; open(i); } function open(i){ var selection = SpreadsheetApp.getActiveSheet().getRange('B'+ i).getValue(); var ht

Google apps script 从文档应用程序脚本中的位置图像获取Alt信息

是否可以从应用程序脚本中的位置图像中提取Alt描述 对于内联图像,可以使用getAltDescription()函数 var captions=inlineimage.getAltDescription() 有一个解决办法 您可以使用,它允许您访问-包括“说明” 要使用应用程序脚本检索描述,请执行以下操作: 高级文档服务 使用以下语法执行请求: 如果您不知道objectId,您可以从请求的JSON响应中检索它,例如(如果您的文件中只有一个定位元素): 我可以问一下脚本的问题吗?因为Posit

Google apps script 使用nextPageToken获得100多条谷歌硬盘评论

我有一个超过100条评论的谷歌工作表文件,我正在寻找使用应用程序脚本提取它们。我的代码用于提取前99个,然后可以根据需要对其进行操作。然而,我正在努力使用nextPageToken获取所有评论。希望有人能帮助我实现这一点到下面的代码 我已经回顾了一些与Drive.Files.list相关的示例,但没有看到Drive.Comments.list的示例 function getComments(fileId) { var options = { 'maxResults': 99 };

Google apps script 如何使用Google Apps脚本动态更改Google窗体上的现有文本项值

我有一个现有的谷歌表单,其中有一个文本项,标题是“这是在哪个位置执行的?” 无论何时加载(打开)表单,我都需要为此现有文本框设置一个位置值(loc),并将其显示给用户 function populateMemberIds(loc){ var form = FormApp.openById(formUrl); var questions = form.getItems(); for (var i=0; i<questions.length; i++){

Google apps script 自动将值从一个google工作表复制并粘贴到另一个工作表

我的电子表格中有两张表格,每个链接如下: 第一种称为事件/事件,记录所有事件数据,包括投诉、赞美、事故和未遂事件。如果有需要保险索赔的事件,用户将勾选Y列中的框,该框将要求其他用户提交索赔。因此,我创建了第二张题为“保险索赔”的表格。这就像甘特图,列出保险索赔的进度 初始用户勾选事件/事件Y列中的框后,我希望将相应行中多个单元格的值复制并粘贴到保险索赔表中 我仍在学习编写代码,所以我倾向于从其他堆栈溢出答案中摘取代码,但我正在努力解决这个问题。这是我目前的尝试,但我觉得我缺少了功能的关键部分

Google apps script 有没有一种方法可以根据变量在Google脚本中选择范围?

所以在离开excel后,我开始使用google脚本和工作表 在excel中,如果要使用变量选择特定范围,则宏中的公式将为 范围(“C1:F”和最后一行)。选择 其中,lastrow是您先前命名的变量 我找不到一个等价的公式或脚本,可以做同样的谷歌脚本 基本上,我只想选择要复制的特定范围,但由于数据行会有所不同,我只想选择使用过的行,而不是整个页面。使用公式 您可以使用该函数,以及Google Sheets连接 返回由字符串指定的单元格引用 例如,给出以下“学生信息”表: 您可以使用=INDIR

Google apps script 从Spreasheet到Google日历创建事件

我有这个 我的任务的截止日期有两列 我如何创建一个脚本,根据这些到期日期创建事件,并在它们到期前几天通知我 感谢从电子表格创建事件 getEvent()读取下面的电子表格,该电子表格与您提供的电子表格非常相似,我将对其进行一些修改。我添加了一个事件标题和描述列。Scheduled列提供了在脚本再次运行时防止重复事件的功能。计划列是数据验证(“是”/“否”) 动画: function getEventData() { var ss=SpreadsheetApp.getActive();

Google apps script 如果功能设置和/或格式错误,则显示工作表

行程分配表单选项卡上的单元格C5是目的地的下拉选择列表。我试图让表格自动填写C6单元格中的匹配地址(来自一个名为“学校”的选项卡)。当我把下面的公式放进去时,我得到了一个错误或错误,但我无法找出原因 =如果(C5=学校!A1,C6=学校!B1,“其他错误”) 我需要使公式适用于任何选定的目的地,以便将适当的地址插入单元格。我可以按照我的想法做这件事吗?或者应用程序脚本会更好吗?如果可以,我会怎么做 链接到我的工作表副本: 可以使用谷歌应用程序脚本,但这可能不是最简单的方法 您可以使用on

Google apps script GoogleSheets:如何在检测到的新行上自动将单词插入单元格?

我到处找,但找不到答案(我肯定我解释得不对) 我有一个谷歌工作表,它有多个标签,分别是TabA、TabB和TabC 在这个Google工作表上,我在Slack上提交了一个斜杠命令,然后使用apps脚本自动填充其中一个选项卡上的一行 我想做的只是在每次检测到新行时,在特定的单元格中插入一个名为TabA的单词。并在TabB表等上创建新行时插入一个名为TabB的单词 我确信我只是把问题打错了,这就是我找不到答案的原因 实际上我不确定代码的哪一部分会发布到工作表中,我想是这样的吗 if(sheetN

Google apps script 谷歌脚本Im使用更新我的工作表,但旧数据有时会留在工作表中

我使用下面的脚本作为导入的替代。我现在遇到的问题是,它并没有按照我在谷歌脚本中设置的触发器每天替换工作表。有些旧数据有时会留在工作表中。是否有办法让它每天更换床单 如果有人有建议,那就太好了 var sourceSpreadsheetID = "TO UPDATE"; var sourceWorksheetName = "TO UPDATE"; var targetSpreadsheetID = "TO UPDATE"; var targetWorksheetName = "TO UPDATE"

Google apps script 隐藏的谷歌表单启动脚本?

我有一张谷歌工作表,启动后2-3分钟没有反应。我已经禁用了所有公式和脚本,冻结实际上是在“计算公式”加载栏(右上)完成后开始的。有没有可能有人藏了剧本?我怎样才能找到它?难道所有的脚本项目不应该对每个人都可见吗?隐藏的脚本可能来自安装的附加组件吗 一些背景信息: 我注意到复制没有问题,所以罪魁祸首是在复制时无法复制的东西(例如:触发器)。据我所知,没有第三方应用程序使用它,因为在应用程序脚本中没有公司代码(除了我),所以它不像是在某个地方使用该表,而副本也没有 一个原因是,它现在加载得很快(在我

Google apps script 是否可以查询行中的范围不为空

我试图查询一个谷歌表格,其中一行中的单元格范围不为空。以下是我的数据示例: 我正在使用我的公式来显示在列E、F、G或H中填充了任何内容的行,因此使用上面的示例数据,我希望查询返回以下内容: 下面的公式只返回标题,因为它要查看每个单元格是否为空 =Query(A1:H6,"Select * where E is not null and F is not null and G is not null and H is not null",1) 有解决方法吗?让我们用或代替和 =Query(A

Google apps script Google应用程序脚本tryLock/waitLock超时限制后续web应用程序调用的累积超时限制?

我一直试图调试一个问题,我正在用GAS将多个新行(通过多个httpget)写入一个google电子表格,但在编写了几行之后,它们似乎无法获得锁。我最初有5000毫秒(5秒)的超时,这对于一个调用来说应该是足够的时间,但我注意到,如果我要添加20行,超时会导致随机行更新失败。 当我把时间移到30秒时,20行就可以了。但如果我去了60行,我又得到了随机失败。移动到60秒超时似乎在那里起作用 似乎这个超时实际上需要考虑写出所有行所需的累计时间。我越想这一点,我就越觉得这是有意义的,因为我是通过一个异步

Google apps script 如何隐藏其他单元格中基于文本的行

我试图根据不同的单元格隐藏行。例如,如果该单元格为“否”,我想自动隐藏以下3行,因为它们将不再适用。(B14=否,隐藏第14-16行)。非常感谢您的帮助 function onEdit(e){ if(e.range.getA1Notation() === 'B14' && e.range.getSheet().getName()=='PST Referral Template (Sheet)'){ if(e.value=='No') { } e.ra

Google apps script 为什么赢了';我的代码不能将数据从一个工作表移动到另一个工作表吗?

我有一份包含两张工作表的工作簿: “主控”和“已提交” 当“主”工作表上“p”列中的单词从“待定”更改为“已提交”时,我希望将该行从主工作表中删除,并添加到已提交工作表的最后一行 我可以保存脚本,没有错误,但当我将单元格从“挂起”更改为“已提交”时,什么都不会发生 function onEdit(event) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = SpreadsheetApp.getActiveSpreadsh

Google apps script 如何访问gmail插件标题菜单?

我想在gmail插件头的菜单中添加一些选项。我在文档中找不到关于这个菜单的任何参考资料,但我知道有一种方法可以做到这一点,因为我在其他gmail插件中看到了它 目标的形象: 你可以通过编写chrome扩展来为G套件实现这一点,但不能通过为普通Gmail编写google应用程序脚本来实现。毕竟我找到了一个解决方案。你必须采取普遍行动 链接到文档:

Google apps script 如何在每次填充新行时触发脚本?

因此,我有一个脚本,将值从一张图纸(Sheet2)的一行和一列复制到另一张图纸(Sheet1)的一行和一列: 因此,Sheet2连接到一个谷歌表单,表单提交后,表单答案中的值将自动填充一行 那么,是否可以在每次提交表单后填写新行时触发上面的脚本运行 先谢谢你。(如果您需要更多说明,请告诉我)您可以使用onFormSubmit,因为数据来自表单 function onFormSubmit() { var spreadsheet = SpreadsheetApp.getActiveSpreads

Google apps script 在一个范围内查找和替换单元格的多个字符串的最有效方法是什么?

**背景** 我正在编写一个在格斗游戏中制作连击的代码 我需要取一个范围,然后将某些数字和/或字母转换成其他数字和/或带有额外字符/间距的字母,以便程序注册组合 现在我有一些代码可以完成这项工作,但我不认为这是一种“正确”或有效的方法,因为总共需要设置大约40个“开关”: function printCombo() { //general set up const ss=SpreadsheetApp.getActive(); const psh=ss.getSheetByName

Google apps script 在Google Apps脚本线性优化服务中添加约束

我需要用谷歌应用程序脚本解决作业问题。这似乎是有希望的,所以我尝试的是端口一个相应的 不幸的是,我无法找到一种方法来设置每个工作人员只分配一个任务的约束 工作代码(无约束)如下所示: function myFunction() { // Create the variables var engine = LinearOptimizationService.createEngine(); const costMatrix = [[7,5,4,8,3]

上一页 1 2  3   4   5   6    7   8   9  ... 下一页 最后一页 共 493 页