cofCom.ActivatePlugin(" com.sap.epm.FPMXLClient")的VBA问题

2020-08-22 09:52发布

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

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


专家您好,

我们最近将用户计算机升级到带有Analysis for Office 2.8 SP0(EPM36)的Excel 64位。 升级后,我们的VBA按钮之一停止工作。

VBA脚本分别刷新每个工作表,然后将其另存为新文件,并具有基于日期的名称。 由于文件的大小,此过程比刷新整个工作簿更好。

调试器显示" cofCom.ActivatePlugin(" com.sap.epm.FPMXLClient")"存在问题。 但是我不确定为什么要遵循SAP Note 2259913(https://launchpad.support.sap.com/#/notes/2259913 )。

子refreshworkbook()
 昏暗的cofCom作为对象
 昏暗的epmCom作为对象
     设置cofCom = Application.COMAddIns(" SapExcelAddIn")。Object
     cofCom.ActivatePlugin(" com.sap.epm.FPMXLClient")
     设置epmCom = cofCom.GetPlugin(" com.sap.epm.FPMXLClient")

 昏暗的wsh作为工作表
     对于ThisWorkbook.Worksheets中的每个wsh
          wsh。激活
          EpmApi.RefreshActiveSheet
     下一个

 '另存为
 昏暗的wbstring作为字符串
     wbstring = Format(DateSerial(Year(Date),Month(Date)-1,Day(Date))," mm-yyyy")
     ActiveWorkbook.SaveAs文件名:= wbstring
 结束子
 

(40.4 kB)

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

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


专家您好,

我们最近将用户计算机升级到带有Analysis for Office 2.8 SP0(EPM36)的Excel 64位。 升级后,我们的VBA按钮之一停止工作。

VBA脚本分别刷新每个工作表,然后将其另存为新文件,并具有基于日期的名称。 由于文件的大小,此过程比刷新整个工作簿更好。

调试器显示" cofCom.ActivatePlugin(" com.sap.epm.FPMXLClient")"存在问题。 但是我不确定为什么要遵循SAP Note 2259913(https://launchpad.support.sap.com/#/notes/2259913 )。

子refreshworkbook()
 昏暗的cofCom作为对象
 昏暗的epmCom作为对象
     设置cofCom = Application.COMAddIns(" SapExcelAddIn")。Object
     cofCom.ActivatePlugin(" com.sap.epm.FPMXLClient")
     设置epmCom = cofCom.GetPlugin(" com.sap.epm.FPMXLClient")

 昏暗的wsh作为工作表
     对于ThisWorkbook.Worksheets中的每个wsh
          wsh。激活
          EpmApi.RefreshActiveSheet
     下一个

 '另存为
 昏暗的wbstring作为字符串
     wbstring = Format(DateSerial(Year(Date),Month(Date)-1,Day(Date))," mm-yyyy")
     ActiveWorkbook.SaveAs文件名:= wbstring
 结束子
 

(40.4 kB)
付费偷看设置
发送
2条回答
Nir深蓝
1楼 · 2020-08-22 10:46.采纳回答

通用代码将是:

 Sub Example()
     昏暗的objAddIn作为COMAddIn
     昏暗的epm作为对象
     昏暗的AOComAdd作为对象
     Dim blnEPM安装为布尔值
 出错时出错
     '获得用于独立EPM或AO的FPMXLClient的通用代码
     对于Application.COMAddIns中的每个objAddIn
         如果objAddIn.progID =" FPMXLClient.Connect"然后
             设置epm = objAddIn.Object
             blnEPMInstalled =正确
             退出
         ElseIf objAddIn.progID =" SapExcelAddIn"然后
             设置AOComAdd = objAddIn.Object
             设置epm = AOComAdd.GetPlugin(" com.sap.epm.FPMXLClient")
             blnEPMInstalled =正确
             退出
         万一
     下一个objAddIn
    
     如果未安装blnEPM,则
         MsgBox"未安装EPM"
         退出子
     万一
    
 昏暗的wsh作为工作表
     对于ThisWorkbook.Worksheets中的每个wsh
          wsh。激活
          epm.RefreshActiveSheet
     下一个

 '另存为
 昏暗的wbstring作为字符串
     wbstring = Format(DateSerial(Year(Date),Month(Date)-1,Day(Date))," mm-yyyy")
     ActiveWorkbook.SaveAs文件名:= wbstring
     退出子

 呃:
     如果Err.Number = -1073479167那么
         MsgBox"无连接"
     其他
         MsgBox" EPM错误"
     万一
 结束Sub 

使用此代码,无需在工具->引用中选择任何内容

暮风yp
2楼-- · 2020-08-22 10:53

,该方法有效,非常感谢! 将来,这种通用方法对我将非常有用。

一周热门 更多>