用于打开/关闭/更新表单的 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;=*N;SP=2004C;PP=12")

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 bResult = Application.run("Tgkrmacro.xlam!TGK_RunUnprotected", WORKBOOK, "MACRO_NAME", _ ["macroParam_1"], ["macroParam_2"], ...,["macroParam_10"])
描述 在所有表单以数据录入模式打开(因此受保护)的情况下,这允许在运行指定宏之前从工作表移除保护,并在结束时可能重新保护,从而运行该宏。
必需参数 - 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 set obkResult = Application.run("Tgkrmacro.xlam!TGK_RunUnprotected", WORKBOOK, "MACRO_NAME", _ ["macroParam_1"], ["macroParam_2"], ...,["macroParam_10"])
描述 与 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)。参见设置窗口