设为首页 收藏本站
查看: 1383|回复: 0

[经验分享] SAP BPC表单中使用VBA函数

[复制链接]

尚未签到

发表于 2015-9-19 14:23:24 | 显示全部楼层 |阅读模式
EvMNU 语法
EvMNU(MacroName,DisplayName,Parameter)
位置:


  • MacroName 是由“计划与合并”提供的菜单命令,例如 OPENFILE、SETCV 和 MNU_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”,,&quot;c:/Documents and Settings/<Local user>/My Documents/PC_NW/<Logon user>/AppInfo/<appset>/<app>/eExcel&quot;)
  • 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 &quot;mnu_{command}&quot;.
如调用BUDGET2COST脚本:
Application.Run &quot;MNU_eData_SELECTPACKAGE&quot;, &quot;BUDGET2COST&quot;, &quot;/CPMB/DEFAULT_FORMULAS&quot;, &quot;company&quot;, &quot;Data Management&quot;


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(&quot;&quot;import&quot;&quot;,&quot;&quot;examples/import.dts&quot;&quot;,&quot;&quot;HQ&quot;&quot;),单元格 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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-115911-1-1.html 上篇帖子: SAP BDC批量导入数据 下篇帖子: poj_1459,sap的三种写法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表