Excel加载项问题

2020-09-27 23:36发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在32位EPM 10中有一个Excel自动化宏,效果很好。 我使用.VBS脚本通过Win7作业计划程序启动宏。 该宏将打开模板EPM报表,使用SetContextOptions更改利润中心和时间,使用RefreshActiveWorkBook刷新报表,然后使用SaveAs保存。 对于45个利润中心重复该过程。 再次,这在EPM 10中效果很好。

在64位Win10虚拟机上迁移到Office/EPM的64位分析后,该过程的行为异常。 当宏从作业计划程序运行时尝试使用SetContextOptions时,它将失败。 即使故障触发了On Error命令,也不会出现错误代码-Err.Number为零,Err.Description为空白。 作业调度程序条目在两种环境中都是相同的。 两者都设置为"仅在用户登录时运行"。 同样,在调度程序触发宏时以及在我通过右键单击调度程序条目并选择"运行"手动触发宏时,都会发生故障。

如果我打开VBA项目,并用F5手动启动宏,则代码将正常工作。 为什么SetContextOptions在批处理模式下与交互式模式下的行为有所不同?

这是我正在使用的命令:

EPMObj.SetContextOptions wb," PRD BPC"," TIME",strPeriod,False

谢谢

汤姆

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在32位EPM 10中有一个Excel自动化宏,效果很好。 我使用.VBS脚本通过Win7作业计划程序启动宏。 该宏将打开模板EPM报表,使用SetContextOptions更改利润中心和时间,使用RefreshActiveWorkBook刷新报表,然后使用SaveAs保存。 对于45个利润中心重复该过程。 再次,这在EPM 10中效果很好。

在64位Win10虚拟机上迁移到Office/EPM的64位分析后,该过程的行为异常。 当宏从作业计划程序运行时尝试使用SetContextOptions时,它将失败。 即使故障触发了On Error命令,也不会出现错误代码-Err.Number为零,Err.Description为空白。 作业调度程序条目在两种环境中都是相同的。 两者都设置为"仅在用户登录时运行"。 同样,在调度程序触发宏时以及在我通过右键单击调度程序条目并选择"运行"手动触发宏时,都会发生故障。

如果我打开VBA项目,并用F5手动启动宏,则代码将正常工作。 为什么SetContextOptions在批处理模式下与交互式模式下的行为有所不同?

这是我正在使用的命令:

EPMObj.SetContextOptions wb," PRD BPC"," TIME",strPeriod,False

谢谢

汤姆

付费偷看设置
发送
8条回答
四川大学会员
1楼-- · 2020-09-27 23:42

您没有提供完整的信息。

请在Excel中发布VBS脚本文本和宏代码。

何必丶何苦呢
2楼-- · 2020-09-28 00:03

VBS将启动宏。 我在宏中进行了大量日志记录,以确认错误发生的位置-SetContextOptions会触发On Error进程,但Err.Number为零。

Doze时光
3楼-- · 2020-09-27 23:48

这是VBS脚本。 它将宏从网络复制到本地文件夹,然后从本地文件夹运行宏。

设置xl = WScript.CreateObject(" Excel.application")
 xl.Application.Visible = False
 设置fso = WScript.CreateObject(" Scripting.FileSystemObject")
 如果fso.FileExists(" C:\ Logs \ Temp \ Financial Report Automation.xlsm"),则
 fso.DeleteFile" C:\ Logs \ Temp \ Financial Report Automation.xlsm",真
 万一
 fso.CopyFile" M:\ Financial Report \ Financial Report Automation.xlsm"," C:\ Logs \ Temp \ Financial Report Automation.xlsm",True
 设置xlBook = xl.Application.Workbooks.Open(" C:\ Logs \ Temp \ Financial Report Automation.xlsm")
 xl.Application.run"'"&xlBook.Name&"'!RunFirstInstanceManually" 
粗暴的香蕉
4楼-- · 2020-09-27 23:57

出于测试目的,请尝试将某些模板的预定分发分发到某个文件夹(EPM分发功能)。

此功能正在使用相同的Windows大头钉计划程序。 看一下计划项目的设置!

落灬小鱼
5楼-- · 2020-09-27 23:48

不,它没有解决。 现在,它甚至无法登录。从Windows Task Scheduler启动时,下面的代码无法连接,但是在宏编辑器中使用F5手动启动时,则可以正常工作。

将EPMObj用作FPMXLClient.EPMAddInAutomation
 将myEPM调暗为对象
 昏暗插件作为对象
 设置addin = Application.COMAddIns(" SapExcelAddIn")。Object
 呼叫addin.ActivatePlugin(" com.sap.epm.FPMXLClient")
 设置EPMObj = addin.getplugin(" com.sap.epm.FPMXLClient")
 呼叫EPMObj.Connect(" _FPM_BPCNW10_ [http://sappb1.mydomain.com:28004/sap/bpc/] _ [BPC] _ [FINANCIAL] _ [false]"," ID"," PW")

就像以前一样,该故障触发了On Error进程,但是Err.Number为零,Err.Description为空。

Aaron 3364
6楼-- · 2020-09-27 23:41

P.S。 现在问题已经解决了吗?

一周热门 更多>