用于打开/关闭/更新表单的 VBA API
TGK_OpenTemplate
| 元素 | 描述 |
|---|---|
| 语法 | dim wb as workbook set wb = Application.run("Tgkrmacro.xlam!TGK_OpenTemplate", "REPORT_CODE") |
| 描述 | 以设计模式打开表单。 |
| 必需参数 | REPORT_CODE:标识要打开表单的代码 |
| 返回值 | 与打开表单关联的工作簿。如果表单未正确打开,则返回 nothing(例如,如果代码不存在或用户没有权限以设计模式打开表单)。 |
TGK_Navigate
| 元素 | 描述 |
|---|---|
| 语法 | dim wb as workbook set wb = Application.run("Tgkrmacro.xlam!TGK_Navigate", "REPORT_CODE", ["PROMPT_FILTERS"], ["PARAMETERS"]) |
| 描述 | 以导航模式打开表单。 |
| 必需参数 | - REPORT_CODE:标识要打开表单的代码 |
| 可选参数 | - PROMPT_FILTERS:仅为与使用 VBA 客户端创建的表单兼容而保留 - PARAMETERS:运行表单时要使用的参数。必须根据人类可读语法定义。如果省略,则在运行表单时请求参数。 |
| 返回值 | 与打开表单关联的工作簿。如果表单未正确打开,则返回 nothing(例如,如果代码不存在或用户没有权限以导航模式打开表单)。 |
示例
以下示例展示了基于以下参数以导航模式运行代码为 "PROSP01" 的表单的语法:
- 实体 A01
- 自定义维度 1 的层次 01 的节点 N1
- 参数化场景(SP)2004C
- 参数化期间(PP)12。
dim wb as workbook
set wb = Application.run("Tgkrmacro.xlam!TGK_Navigate", "PROSP01", "Entity=A01;
TGK_DataEntry
| 元素 | 描述 |
|---|---|
| 语法 | dim wb as workbook set wb = Application.run("Tgkrmacro.xlam!TGK_DataEntry", "REPORT_CODE", "PROCESS_CODE", ["PROMPT_FILTERS"], ["PARAMETERS"]) |
| 描述 | 以数据录入模式打开表单。 |
| 必需参数 | - REPORT_CODE:标识要打开表单的代码 - PROCESS_CODE:标识执行数据收集所针对流程的代码 |
| 可选参数 | - PROMPT_FILTERS:仅为与使用 VBA 客户端创建的表单兼容而保留 - PARAMETERS:运行表单时要使用的参数。必须根据人类可读语法定义。如果省略,则在运行表单时请求参数。 |
| 返回值 | 与打开表单关联的工作簿。如果表单未正确打开,例如代码不存在或用户没有权限以数据录入模式打开表单,则返回 nothing。 |
TGK_OpenReportFile
| 元素 | 描述 |
|---|---|
| 语法 | dim wb as workbook set wb = Application.run("Tgkrmacro.xlam!TGK_OpenReportFile", "FILENAME.xls") |
| 描述 | 打开临时表单或以导航模式打开后另存为 Excel 工作表的表单。 |
| 参数 | FILENAME:要使用的文件的完整 XLS 路径,例如 "C:\Documents and Settings....\myReport.xls" |
| 返回值 | 与打开表单关联的工作簿。在以下情况下,返回 nothing: - 文件不存在或被锁定,或没有读取权限 - 用户没有权限打开临时表单 - 指定的 Excel 文件不是有效表单 |
TGK_CloseMySelf
| 元素 | 描述 |
|---|---|
| 语法 | Application.run("Tgkrmacro.xlam!TGK_CloseMySelf", WORKBOOK, [ASK_SAVE], [JUST_CLOSE]) |
| 描述 | 关闭当前表单(或包含调用此函数的宏的表单)。 |
| 必需参数 | - WORKBOOK:与要关闭的表单对应的工作簿对象。 |
| 可选参数 | - ASK_SAVE:仅当 JUST_CLOSE 参数为 FALSE 时,系统才考虑此参数。如果为 TRUE,系统检查是否进行了任何更改并询问用户是否要保存。如果为 FALSE 或省略,系统保存并关闭表单而不显示任何消息。 - JUST_CLOSE:如果为 TRUE,则关闭表单而不保存或请求确认。如果为 FALSE 或省略,则考虑参数 ASK_SAVE。 |
| 返回值 | 无 |
示例
关闭与包含宏的 Excel 文档对应的表单的语法示例,该表单在保存数据前请求确认。
Application.run("Tgkrmacro.xlam!TGK_CloseMySelf", ThisWorkbook, true)
TGK_CloseOtherDocuments
| 元素 | 描述 |
|---|---|
| 语法 | Application.run("Tgkrmacro.xlam!TGK_CloseOtherDocuments", WORKBOOK, [ASK_SAVE]) |
| 描述 | 关闭与编写宏所在的文档不同的文档。 |
| 必需参数 | WORKBOOK:与要关闭的表单对应的工作簿对象。 |
| 可选参数 | ASK_SAVE:如果为 TRUE,系统检查是否进行了任何更改并询问用户是否要保存。如果为 FALSE 或省略,系统保存并关闭表单而不显示任何消息。 |
| 返回值 | 如果表单正确关闭,则为 TRUE;否则为 FALSE。 |
TGK_RunUnprotected
| 元素 | 描述 |
|---|---|
| 语法 | dim bResult as |
| 描述 | 在所有表单以数据录入模式打开(因此受保护)的情况下,这允许在运行指定宏之前从工作表移除保护,并在结束时可能重新保护,从而运行该宏。 |
| 必需参数 | - WORKBOOK:与包含待运行宏的表单对应的工作簿对象 - MACRO_NAME:要运行的宏的名称。必须是存在于公共模块上且属于指定工作簿的函数。 |
| 可选参数 | MACRO_PARAM_1,...,MACRO_PARAM_10:要运行的宏的任何输入参数。 |
| 返回值 | 宏名称,如 "MACRO_NAME" 中所示 |
示例
此示例展示了如何隐藏表单的特定行,例如第 25 行,在包含隐藏作为参数处理的过去行的宏的表单中。
宏的详细信息如下所示:
Public Function nascondiRiga(numRiga As Integer)
ActiveSheet.Rows(numRiga).Hidden = True
nascondiRiga = True
End Function
要隐藏第 25 行,必须使用以下语法:
dim bResult
bResult = nascondiRiga(25)
当系统在受保护的工作表上运行此宏时,返回以下错误:"Impossible to set the 'Hidden' property for the 'Range' class"。因此必须在工作表未受保护的情况下运行,使用以下语法。
dim bResult
bResult = Application.run("Tgkrmacro.xlam!TGK_RunUnprotected", "nascondiRiga", 25)
系统关闭与包含宏的 Excel 文档对应的表单,并在保存数据前请求确认。
TGK_RunUnprotectedObj
| 元素 | 描述 |
|---|---|
| 语法 | dim objResult as |
| 描述 | 与 TGK_RunUnprotected 相同,但用于被调用宏返回对象而非基元类型的情况。 |
| 必需参数 | - WORKBOOK:与包含待运行宏的表单对应的工作簿对象 - MACRO_NAME:要运行的宏的名称。必须是存在于公共模块上且属于指定工作簿的函数。 |
| 可选参数 | MACRO_PARAM_1,...,MACRO_PARAM_10:要运行的宏的任何输入参数。 |
| 返回值 | 宏名称,如 "MACRO_NAME" 中所示 |
TGK_Save
| 元素 | 描述 |
|---|---|
| 语法 | dim bEsito as boolean bEsito = Application.run("Tgkrmacro.xlam!TGK_Save", WORKBOOK, [FILE_NAME]) |
| 描述 | 保存与指定表单相关的文件。等同于按钮栏中的 Save。 |
| 必需参数 | WORKBOOK:与要保存的表单对应的工作簿对象。 |
| 可选参数 | FILE_NAME:如果指定,系统以指示的名称保存表单而不请求进一步确认。否则,遵循正常的 Excel 文件保存请求,即将更改保存到当前文件,或者如果文档是新文档,则询问用户要为其分配的名称。 |
| 返回值 | 如果表单正确保存,则为 TRUE;否则为 FALSE。不要在宏内使用 ThisWorkbook.save 命令。替换为 TGK_Save。与保存关联的自动刷新的 TGK_Save 可能无法正常工作。禁用此选项并检查没有需要它的链接数据处理。 |
TGK_Refresh
| 描述 | |
|---|---|
| 语法 | dim wb as workbook set wb = Application.run("Tgkrmacro.xlam!TGK_Refresh") |
| 描述 | 刷新当前表单,该表单已打开并运行。 |
| 返回值 | 更新后的工作簿。注意:动态表单将在刷新阶段关闭并重新打开。因此,TGK_Refresh 函数调用之后的任何代码行很可能永远不会运行,因为文件在刷新期间被关闭。报表在刷新阶段关闭并重新打开。因此有必要检查 TGK_Refresh 返回的工作簿是否不为 Nothing,即使调用之后的任何行不会运行。 |
TGK_CountAttachments
| 元素 | 描述 |
|---|---|
| 语法 | Application.run("Tgkrmacro.xlam!TGK_CountAttachments", cell) =TGK_CountAttachments({cella}) |
| 描述 | 返回单元格或单元格区域中存在的附件数量。该函数在 Excel 和 Web 中均受支持。此函数也可以用作电子表格公式。 |
| 必需参数 | CELL。 - 要检索其附件数量的单个单元格或区域(如果在表单内使用) - 要为其每个单元格检索附件数量的列/行(如果插入到矩阵向导内的公式中) |
| 返回值 | 插入到单元格或单元格区域中的附件数量。注意:要使用此函数显示在单元格上输入的注释数量,必须启用选项 Automatically display comments in reports data entry (Admin Home Page > Settings > form tab > Comments section)。参见设置窗口。 |