ACCEPT 命令

创建以交互方式提示用户提供一个或更多个脚本输入值的对话框。每个输入值都被存储在一个命名字符变量中。

说明

使用 ACCEPT 命令输入密码是不安全的。应该改而使用 PASSWORD 命令

机器人中运行的脚本不支持 ACCEPT 命令。

您可以用DIALOG 命令创建一个更高级的交互式对话框。

语法

ACCEPT {邮件文本 <FIELDS 项目条目类别> TO 变量名称} <...n>

参数

名称 描述
邮件文本

显示在用于提示用户提供输入的对话框中的标签。必须是带引号的字符串或字符变量。

在输入多个提示信息时,您可以用逗号分隔它们。使用逗号可以提高脚本可读性,但不是必须的:

ACCEPT "指定开始日期:" TO v_start_date, "指定结束日期:" TO v_end_date
FIELDS 项目条目类别

可选

创建适用于用户输入的项目条目下拉列表,而不是文本框。用户可以从该列表中选择单个项目条目、域或变量。

项目条目类别指定要在该列表中显示哪些条目类型。例如,指定 xf 可在该列表中显示所有项目表。请将项目条目类别放在引号中:

FIELDS "xf"

有关可用来指定类别的代码,请参见项目条目类别的代码

您可以在同一个提示中指定一个以上的代码,但您不能混用项目条目、域或变量。

TO 变量名称

用来存储用户输入的字符变量的名称。如果该变量不存在,则创建该变量。

如果该变量已存在,则将其当前值作为默认值显示在对话框中。

说明

在变量置换使用的变量名称中,请勿使用非英语字符(如 é)。包含非英文字符的变量名称会导致变量代入出故障。

ACCEPT 命令只创建字符变量。如果您需要其他数据类型的输入,则必须在脚本的后续处理中将字符变量转换为所需的类型。有关详细信息,请参见输入数据类型

示例

提示用户选择要打开的 Analytics 表

您需要一个对话框以提示用户选择要打开的表的名称。脚本随后打开用户选择的表:

ACCEPT "选择要打开的表:" FIELDS "xf" TO 值表名称
OPEN %值表名称%

必须使用百分号,因为它们指示要打开的表名称被存储在 v_table_name 变量中。如果百分号被省略,则脚本会尝试打开一个名为“v_table_name”的表。

使用多个对话框收集所需的输入

您想要为脚本用户必须输入的每个值创建单独的对话框。

您在 ACCEPT 命令的每个实例中使用单个提示字符串。脚本生成单独的对话框以便指定下列每种信息:

  • 表名称
  • 要抽样的域
  • 抽样间隔
  • 随机起始值
ACCEPT "输入要分析的表名称" TO 值表名称
OPEN %值表名称%
ACCEPT "选择要抽样的域" FIELDS "N" to 要抽样的值域
ACCEPT "输入抽样间隔" TO 抽样间隔值
ACCEPT "输入随机开始值" TO 随机开始值
SAMPLE ON %要抽样的域% INTERVAL 抽样间隔 FIXED 随机开始值 RECORD TO 输出范例 OPEN

当该脚本运行时

  1. 第一个对话框提示输入表名称。
  2. 第二个对话框包含 FIELDS "N",提示用户从数值域下拉列表中选择一个域。
  3. 第三个对话框提示输入间隔值。
  4. 第四个对话框提示输入随机起始值。

使用包含多个提示的单个对话框收集所需的输入

您想要为脚本用户必须输入的所有值创建单个对话框。

您在 ACCEPT 命令中使用由逗号分隔的多个提示信息来要求用户提供多个输入值。同一个对话框包含有关一个日期范围的开始日期和结束日期的提示信息:

ACCEPT "指定开始日期:" TO v_start_date, "指定结束日期:" TO v_end_date

备注

有关使用变量的详细信息,请参阅在 ACLScript 中使用变量

交互性

使用 ACCEPT 创建一个交互式脚本。处理 ACCEPT 命令时,脚本将暂停,并且显示一个对话框以提示用户提供 Analytics 将在后续处理中使用的输入。

您可以创建多个单独的对话框,每次提示用户输入一个条目,也可以创建一个对话框,提示用户输入多个条目。

DIALOG 与 ACCEPT 之比较

DIALOG 命令使您可以创建可包含一个或多个下列类型控件的更高级交互式对话框:

  • 文本框
  • 复选框
  • 单选按钮
  • 自定义值的下拉列表
  • 项目条目列表

您还具有自定义对话框布局的灵活性。有关详细信息,请参见DIALOG 命令

项目条目类别的代码

请使用以下代码,指定要在下拉列表中显示的项目条目的类别。

项目类别

代码

类别

xf

xb

脚本

xi

索引

xr

视图和报告

xw

工作空间

域类别

代码

类别

C

字符域

N

数值域

D

日期时间域

L

逻辑域

变量类别

代码

类别

c

字符变量

n

数值变量

d

日期时间变量

l

逻辑变量

输入数据类型

ACCEPT 将用户输入存储在一个或多个字符变量中。如果您需要数值或日期时间输入,可使用 VALUE( ) 或 CTOD( ) 函数将字符变量的内容转换为数值或日期时间值:

SET FILTER TO BETWEEN(%v_date_field%, CTOD(%v_start_date%), CTOD(%v_end_date%))

在该示例中,此过滤器的开始和结束日期被存储为字符值。必须将它们转换为日期值,以便将其用于使用日期时间数据类型的日期域。

将变量名称放在百分号 (%) 中可将变量包含的字符值替换为变量名称。CTOD( ) 函数随后将字符值转换为日期值。

ACCEPT 命令

如果可能,那么将所有 ACCEPT 命令放在脚本的开头是一个很好的做法。如果需要在开头输入所有信息,则一旦用户输入必要的信息后,脚本就可以顺畅地运行了。

说明

在 GROUP 命令中不可使用 ACCEPT 命令。