SAP BPC表单中使用VBA函数

EvMNU 语法

EvMNU(MacroName,DisplayName,Parameter)

位置:

  • MacroName 是由“计划与合并”提供的菜单命令,例如 OPENFILESETCVMNU_eSUBMIT

  • DisplayName 是用户点击以启动菜单任务的文本。显示名称为可选。

  • 参数是宏参数。某些宏需要诸如文件名称或成员名称等信息才能正常运行。

示例:

  • 将当前视图设置为特定维度的特定成员。在此示例中没有显示的名称。

    EvMNU(“SETCV”,,”ENTITY=SalesUS;TIME=2004.JAN”)

  • 创建一个名为〖分析〗的超链接,可以打开 A01Entity.xls 工作簿:

    EvMNU("OPENFILE","Analysis",,"/REPORTS/WIZARD/Reports/Wizard/Local/Analysis/A01Entity.xlt")

  • 使用 & 运算符将多个 EvMNU 函数串联在一起。您可以按如下方式为您正在打开的文件设置当前视图:

    =EVMNU("SETCV",,"CATEGORY=PLAN;TIME=2005.Q4")&EVMNU("OPENFILE","open file","/REPORTS/WIZARD/Local/Analysis/A01Entity.xlt")

大多数“计划与合并”命令都以前缀 MNU_ 开头。但是,以下命令也可以使用:

  • OPENFILE

    打开一个本地文件。

    缺省为“C:/Documents and Settings/<Local user>/My Documents/PC_NW/<Logon user>/AppInfo/<appset>/<app>/eExcel”目录,除非定义了完整路径。

    EvMNU(OPENFILE,”optional text”,{path})

    例如,evMNU(“OPENFILE”,,"c:/Documents and Settings/<Local user>/My Documents/PC_NW/<Logon user>/AppInfo/<appset>/<app>/eExcel")

  • CLOSEEXCEL

    关闭 Microsoft Excel。

    EvMNU(CLOSEEXCEL,,)

  • OPENWEBFOLDER

    打开 /<appset/<app>/eExcel 文件夹。您不能更改缺省路径。

    EvMNU(OPENWEBFOLDER,”optional text”)

  • SETCV

    设置当前视图。

    EvMNU(SETCV,,dimension=member)

EVMNU的使用方法是在EXCEL中的单元格内输入=EvMNU(MacroName,DisplayName,Parameter) ,然后双击或单击单元格就会执行MacroName对应的宏.

 

另外一种使用菜单命令的方法是,拖一个表单按钮到excel中,然后为按钮指定宏为MNU_eXXXX_XXXXX,这样点击按钮MNU菜单命令就会被执行.

有的时候我们可能会需要在VBA中调用MNU菜单命令,比如先进行一些针对单元格的校验然后再执行发送数据命令,这种情况下,我们需要在VBA代码中输入语句Application.Run "mnu_{command}".

如调用BUDGET2COST脚本:

Application.Run "MNU_eData_SELECTPACKAGE", "BUDGET2COST", "/CPMB/DEFAULT_FORMULAS", "company", "Data Management"


BPC还提供了几个事件函数,类似于MFC中的事件响应函数:

解决方案提供了以下 VBA 函数,用于执行 MNU 命令之前或之后的命令:

  • BEFORE_CHANGECVW

    您可以使用 BEFORE_CHANGECVW 函数在更改当前视图前执行定制操作。

    Option Explicit

    Function BEFORE_CHANGECVW(Argument As String)

    'Process content

    MsgBox Argument

    BEFORE_CHANGECVW = True

    End Function

  • AFTER_CHANGECVW

    您可以使用 AFTER_CHANGECVW 函数在更改当前视图后执行定制操作。

    Function AFTER_CHANGECVW(Argument As String)

    MsgBox Argument

    AFTER_CHANGECVW = True

    End Function

  • BEFORE_REFRESH

    您可以使用 BEFORE_REFRESH 函数在用户更改当前视图后执行定制操作。

    Function BEFORE_REFRESH(Argument As String)

    MsgBox Argument

    BEFORE_REFRESH = True

    End Function

  • AFTER_REFRESH

    您可以使用 AFTER_REFRESH 函数在 Excel 界面刷新数据后执行定制操作。

    Function AFTER_REFRESH(Argument As String)

    MsgBox Argument

    AFTER_REFRESH = True

    End Function

  • BEFORE_SEND

    您可以使用 BEFORE_SEND 函数在 Excel 界面发送数据前执行定制操作。

    Function BEFORE_SEND(Argument As String)

    MsgBox Argument

    BEFORE_SEND = True

    End Function

  • AFTER_SEND

    您可以使用 AFTER_SEND 函数在 Excel 界面发送数据后执行定制操作。

    Function AFTER_SEND(Argument As String)

    MsgBox Argument

    AFTER_SEND = True

    End Function

  • BEFORE_EXPAND

    除了用于联机报告,该事件还可以用于在批处理开始时执行定制代码,例如帐簿发布或脱机分配。

    Function BEFORE_EXPAND(Argument As String)

    MsgBox Argument

    BEFORE_EXPAND = True

    End Function

  • AFTER_EXPAND

    除了用于联机报告,该事件还可以用于在批处理结束时执行定制代码,例如帐簿发布或脱机分配。

    Function AFTER_EXPAND(Argument As String)

    MsgBox Argument

    AFTER_EXPAND = True

    End Function

 

您可以使用 =EvMNU(command,parameter1,…) 函数或 VBA 宏中的下列清单中的每个函数。

在表中,X 表示可用。

菜单命令

描述

NetWeaver

Microsoft

EVGOTOHOMESHEET

使您返回工作簿中的第一个表格。第一个表格必须命名为“主页”。

 

X

MNU_eANALYZE_OPENMY

打开“MyReports”报表文件夹。

X

X

MNU_eANALYZE_OPENSTANDARD

打开位于 eExcel/Reports 目录的报表库。

X

X

MNU_eANALYZE_REFRESH

重新计算报表。

X

X

MNU_eANALYZE_REPORTWIZARD

启动动态模板报表对话框。

X

X

MNU_eANALYZE_SAVEMY

将报表保存至 MyReports 文件夹。

X

X

MNU_eDATA_CLEARPROMPTVALUE

清除已保存的数据管理器提示值。

X

X

MNU_eDATA_DATADOWNLOAD

打开〖数据管理器数据下载〗对话框。允许具有访问权限的用户从服务器下载数据文件。

X

X

MNU_eDATA_DATAPREVIEW

打开〖数据管理器数据预览〗对话框。

X

X

MNU_eDATA_DATAUPLOAD

打开〖数据管理器数据上载〗对话框。允许具有访问权限的用户将数据文件上载至服务器以执行数据转换。

X

X

MNU_eDATA_MANAGESITEPACKAGE

打开〖数据管理器管理团队用户包访问〗对话框。

X

X

MNU_eDATA_NEWCONVERSIONFILE

新建一个数据管理器转换文件。

X

X

MNU_eDATA_NEWCONVERSIONSHEET

在活动的转换工作簿中新建一个转换表

 

X

MNU_eDATA_NEWTRANSFORMATION

新建一个数据管理器转换表。

X

X

MNU_eDATA_OPENCONVERSIONFILE

打开〖数据管理器打开转换文件〗对话框。

X

X

MNU_eDATA_OPENTRANSFORMATION

打开〖数据管理器打开转换〗对话框。

X

X

MNU_eDATA_ORGANIZEPACKAGE

打开〖数据管理器组织包〗对话框。

X

X

MNU_eDATA_RUNPACKAGE

打开〖数据管理器运行包〗对话框。允许具有访问权限的用户运行数据库包。

X

X

MNU_eDATA_SAVECONVERSIONFILE

保存活动的转换文件。

X

X

MNU_eDATA_SAVEASCONVERSIONFILE

显示〖数据管理器另存为转换文件〗对话框。

X

X

MNU_eDATA_SAVESTRANSFORMATION

打开〖数据管理器另存为转换表〗对话框。

X

X

MNU_eDATA_SAVETRANSFORMATION

保存活动的转换表。

 

X

MNU_eDATA_SELECTPACKAGE

打开一个特定的数据管理器包。语法: MNU_eDATA_SELECTPACKAGE(<package name>, <package file path>, <teamname>, <package group>

对于该菜单命令,参数是 MacroName 的一部分,因此您必须保留“参数”部分空白。例如,如果您的单元格 A1 中具有 MNU_eData_SelectPackage(""import"",""examples/import.dts"",""HQ""),单元格 A2 中具有 FX Restatement,则 EvMNU 函数应该为: EvMNU(A1,A2,).

 

X

MNU_eDATA_TESTTRANSFORMATIONWDATA

打开〖数据管理器通过数据测试转换〗对话框。

X

X

MNU_eDATA_VIEWSTATUS

打开〖数据管理器查看状态〗对话框。

X

X

MNU_eJOURNAL_QUERY

打开日记帐管理器。

注释 注释

只有在服务器上设置了日记帐时才可以使用表格。

结束注释。

X

X

MNU_eJOURNAL_REPORT

打开“日记帐报表向导”。

注释 注释

只有在服务器上设置了日记帐时才可以使用表格。

结束注释。

X

X

MNU_ePUBLISH_OPENPUBLICATION

打开 Web 界面目录以便可以选择位置和文件。

X

X

MNU_ePUBLISH_PUBLISHBOOK_EDIT

编辑帐簿。

 

X

MNU_ePUBLISH_PUBLISHBOOK_NEW

新建帐簿。

 

X

MNU_ePUBLISH_PUBLISHBOOK_SAVE

保存当前帐簿。

 

X

MNU_ePUBLISH_PUBLISHBOOK_SAVEAS

打开“另存为”对话框。

 

X

MNU_ePUBLISH_PUBLISHBOOK_VALIDATE

验证当前帐簿。

 

X

MNU_ePUBLISH_PUBLISHBOOK_WIZARD

启动帐簿发布向导。

 

X

MNU_ePUBLISH_PUBLISHSHEET

将工作表发布到 Web 界面。

X

X

MNU_ePUBLISH_OFFLINE_EDIT

编辑脱机选项。

X

X

MNU_ePUBLISH_OFFLINE_NEW

新建脱机报表。

X

X

MNU_ePUBLISH_OFFLINE_SAVE

保存脱机报表。

X

X

MNU_ePUBLISH_OFFLINE_SAVEAS

打开〖另存为〗对话框。

X

X

MNU_ePUBLISH_OFFLINE_VALIDATE

验证脱机报表。

X

X

MNU_ePUBLISH_OFFLINE_WIZARD

打开“分配向导”。

X

X

MNU_ePUBLISH_VIEWeDASH

打开 Web 界面。

X

X

MNU_ESUBMIT_COMMENT

仅发送备注而不刷新备注。

X

X

MNU_ESUBMIT_COMMENT_AFTER_SENDDATA

首先发送备注

X

X

MNU_eSUBMIT_CURRENT

打开〖发送〗和〖刷新计划〗对话框。

 

X

MNU_ESUBMIT_MANAGE_DYNAMICHIERARCHIES

打开〖动态层次结构〗对话框。

 

X

MNU_eSUBMIT_MODIFY

打开 Web 界面中的工作状态操作窗格。

X

X

MNU_eSUBMIT_ONLINE

与输入计划协同工作。

  

MNU_eSUBMIT_OPENMY

打开 MySchedules 文件夹。

X

X

MNU_eSUBMIT_OPENSTANDARD

打开位于 eExcel/Input Schedule 目录中的输入计划库。

X

X

MNU_eSUBMIT_REFRESH

刷新计划而不发送数据。

X

X

MNU_eSUBMIT_REFSCHEDULE_BOOK_CLEARANDREFRESH

发送工作簿并清除数据,然后刷新工作簿。

X

X

MNU_eSUBMIT_REFSCHEDULE_BOOK_NOACTION

发送数据而不清除或刷新工作表。

X

X

MNU_eSUBMIT_REFSCHEDULE_BOOK_NOACTION_SHOWRESULT

发送数据而不清除或刷新工作表,发送成功后会在窗口中显示结果。

X

X

MNU_eSUBMIT_REFSCHEDULE_BOOK_NODIALOG_SHOWRESULT

发送活动的帐簿而不显示任何对话框和显示结果框。

X

X

MNU_eSUBMIT_REFSCHEDULE_BOOK_REFRESH

发送工作簿并刷新数据。

X

X

MNU_eSUBMIT_REFSCHEDULE_SHEET_CLEARANDREFRESH

发送数据并清除和刷新工作表。

X

X

MNU_eSUBMIT_REFSCHEDULE_SHEET_NOACTION

发送数据而不清除或刷新。

X

X

MNU_eSUBMIT_REFSCHEDULE_SHEET_REFRESH

发送数据并刷新工作表。

X

X

MNU_eSUBMIT_SAVEMY

将输入计划保存至 MySchedules 文件夹中。

X

X

MNU_eSUBMIT_SCHEDULE

打开动态计划模板对话框。

X

X

MNU_ESUBMIT_SENDDATA

仅发送数据而不刷新数据。

X

X

MNU_ESUBMIT_SENDDATA_AFTER_COMMENT

首先发送数据。

X

X

MNU_eSUBMIT_SUBMIT

提交支持文档。

  

MNU_eSUBMIT_VALIDATE

验证数据提交。

  

MNU_eTOOLS_ABOUT

打开〖关于 BPC〗 对话框。

X

X

MNU_eTOOLS_CHANGEAPP

打开〖更改应用程序集〗对话框。

X

X

MNU_eTOOLS_DATAMANAGER

打开数据管理器并添加 〖eData〗 菜单。

X

X

MNU_eTOOLS_DRILLDOWN

执行到当前单元格的下溯。

注释 注释

此菜单命令只能在 VBA 中使用而不能在菜单中使用。

结束注释。

X

X

MNU_eTOOLS_DRILLDOWN_BACK

撤销最后一次下溯。

X

X

MNU_eTOOLS_DRILLDOWN_FORWARD

执行已由 DRILLDOWN_BACK 任务撤销的下溯。

X

X

MNU_eTOOLS_DRILLTHROUGH

执行到当前单元格的下溯。

 

X

MNU_eTOOLS_EXPAND

展开所有动态扩展并刷新(除非未刷新 EvDRE 选项状态)。

X

X

MNU_eTOOLS_EXPANDANDREFRESH

展开所有动态扩展然后刷新(除非未刷新 EvDRE 选项状态)。

 

X

MNU_eTOOLS_FUNCTIONWIZARD

打开“函数向导”。

X

X

MNU_eTOOLS_JOURNAL

打开日记帐表格。

注释 注释

只有在服务器上设置了日记帐时才可以使用表格。

结束注释。

X

X

MNU_eTOOLS_MEMBERSELECTOR_x

打开指定维度类型的“成员锁定”。维度类型包括:

  • A — 科目

  • C — 类别

  • E — 实体

  • T — 时间

  • F — 计量

  • I — 公司间

  • D — 数据源

  • S — 子类型

  • Ua - Ux — 用户定义的维度

例如,如果您输入 MNU_eTOOLS_MEMBERSELECTOR_E,“成员锁定”会打开至 Entity 维度。

X

X

MNU_eTOOLS_OPENSTANDARD

打开模板库。

X

X

MNU_eTOOLS_OPTION

打开〖客户端选项〗对话框。

X

X

MNU_eTOOLS_PARKNGO

打开 〖Park N Go〗 对话框。

X

X

MNU_eTOOLS_REFRESH

从服务器刷新报表和输入计划。

X

X

MNU_ETOOLS_REFRESHRANGE

您可以将该宏分配至按钮控制。执行宏之前,请手动选择一个或多个单元格。否则,只会刷新活动的单元格。如果工作表模式为报表,则会刷新所选的单元格(包括 EVGET/EVGTS)。如果工作表模式为输入计划,则刷新所选的参考单元格(包括 EVSND)。

 

x

MNU_eTOOLS_SAVESTANDARD

保存至模板库。

X

X

MNU_ETOOLS_TASKPANE

显示操作窗格

 

X

MNU_eTOOLS_UPDATEAPPINFO

从服务器刷新维度。

 

X

MNU_eTOOLS_WBOPTION

打开〖工作簿选项〗对话框。

X

X

posted on 2011-05-18 15:29  imgogogo  阅读(1193)  评论(0编辑  收藏  举报

导航