点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我创建了一个Office...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我创建了一个Office...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我创建了一个Office报告分析,其中包含来自2个信息提供者的不同数据源 (CRM活动 和 机会) 。 不幸的是,在活动InfoProvider中,特征被称为
在商机信息提供者中,它们被称为
因此,当将报告过滤到某个销售组或销售办公室时,我将不得不添加2个过滤器。 为了避免这种情况,我想通过VBA设置一个过滤器。 在 ThisWorkbook 下,我已经注册了回叫
公共Sub Workbook_SAP_Initialize()
'注册回调
调用Application.Run(" SAPExecuteCommand"," RegisterCallback"," AfterRedisplay"," Callback_AfterRedisplay")
结束子
在模块1中,我添加了以下代码以从活动过滤器中读取值并将其设置为机会过滤器子 FilterSalesGroup()
Application.ScreenUpdating = False
工作表("查询")。激活
'从活动过滤器中选择变量
效果暗淡
昏暗的SlsGrp作为字符串
SlsGrp = Range(" C6")。Value
Dim SlsOff作为字符串
SlsOff = Range(" C5")。Value
'将SlsGroup变量设置为OPP数据源的过滤器
lResult = Application.Run(" SAPSetFilter"," DS_3"," 0BP_ACTIVIT__0SALES_GRP",SlsGrp," INPUT_STRING")
lResult = Application.Run(" SAPSetFilter"," DS_1"," 0BP_ACTIVIT__0SALES_GRP",SlsGrp," INPUT_STRING")
'将SlsOff变量设置为OPP数据源的过滤器
lResult = Application.Run(" SAPSetFilter"," DS_3"," 0BP_ACTIVIT__0SALES_OFF",SlsOff," INPUT_STRING")
lResult = Application.Run(" SAPSetFilter"," DS_1"," 0BP_ACTIVIT__0SALES_OFF",SlsOff," INPUT_STRING")
Application.ScreenUpdating = True
结束子
公共子区域 Callback_AfterRedisplay()
致电FilterSalesGroup
结束子
因此,每次为商机数据源设置销售组或销售办公室过滤器时,宏都应为商机数据源DS_1和DS_3设置相同的过滤器。
如果我手动或通过Excel中的按钮启动宏 FilterSalesGroup ,它可以正常工作。 但是 Callback_AfterRedisplay 方法在此工作簿中不起作用,而我在另一份报告中使用了相同的框架。 当然,我们将更改InfoProvider,但是我暂时想将VBA过程用作解决方法。
是否有人面临同样的问题? 欢迎任何想法
感谢斯蒂芬
嗨,
我在您的计算机上尝试了您的代码,并遇到了同样的问题,"正常"代码可以正常工作,但CallBack却不能。 也许公司的宏指导方针有问题吗? 在我的公司中,所有宏都被禁用,因此可能是原因,回调无法注册。
我当前正在使用AO 2.7.300.86673
我希望这会对您有所帮助。
一周热门 更多>