EPM-无法使用VBA代码保存工作表保护

2020-09-03 19:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 这个有点奇怪,我试图更新...

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

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


嗨,

这个有点奇怪,我试图更新工作表保护并启用"编辑页面轴",因为我有很多文件都不能手动执行。

出于某种奇怪的原因,我无法保存文件并保留新设置,因此可以使用VBA启用它们,但是通过VBA保存时,下次打开该设置时,这些设置就会消失。

当我手动保存文件时,可以通过VBA启用相同的设置。

我目前很沮丧,非常感谢您的帮助。

付费偷看设置
发送
3条回答
SAP浪
1楼 · 2020-09-03 19:36.采纳回答

有时候问题很明显,但是很难发现....

问题似乎仅仅是我在测试用例中使用的是工作簿保护" 301",而不是工作表保护" 300"。

希望我没有在任何人身上浪费太多时间,再次感谢您对Vadim的投入,这使我再次经历了此事。

 EPM.SetSheetOption myWorksheet,300,True," 12345",SheetProtection 
SAP小菜
2楼-- · 2020-09-03 19:47

对不起,但是,如果您不提供VBA代码,该如何帮助您?

空代码
3楼-- · 2020-09-03 19:52

我的道歉,凌晨3点,我不再是最专注的对象。 谢谢您,我现在提供了一个测试示例。

将EPM用作FPMXLClient.EPMAddInAutomation
 昏暗的wb作为工作簿
 薄板保护

 子测试()
     Application.EnableEvents = False
     Application.ScreenUpdating = False
    
     昏暗的文件系统作为对象
     昏暗的HostFolder作为字符串
     HostFolder =" C:\ Users \ TestUser \ Desktop \ Small Sample Test"
     设置FileSystem = CreateObject(" Scripting.FileSystemObject")
     DoFolder FileSystem.GetFolder(HostFolder)
    
     Application.ScreenUpdating = True
     Application.EnableEvents = True

     Debug.Print"全部完成!"
 结束子

 '遍历文件夹
 子文件夹(文件夹)
     设置EPM = New FPMXLClient.EPMAddInAutomation
     昏暗的子文件夹
     SheetProtection = FPMXLClient.ProtectSheet_ProtectContents _
                         + FPMXLClient.ProtectSheet_AllowFormatCells _
                         + FPMXLClient.ProtectSheet_AllowInsertAnyMember _
                         + FPMXLClient.ProtectSheet_AllowEditPageAxis
     对于Folder.SubFolders中的每个子文件夹
         如果子文件夹喜欢" * TEAM FILES *",则
             Debug.Print子文件夹
         其他
             DoFolder子文件夹
         万一
     下一个
     昏暗的文件
    
     对于Folder.Files中的每个文件
         如果文件类似" * .xlsx *",则
             设置wb = Workbooks.Open(fileName:= File,UpdateLinks:= False)
             设置myWorksheet = wb.ActiveSheet
            
             在错误转到To ErrorHandler
                EPM.SetSheetOption myWorksheet,301,False," 12345",FPMXLClient.ProtectSheet_ProtectContents
                 Application.DisplayAlerts = False
                
                 EPM.SetSheetOption myWorksheet,301,True," 12345",SheetProtection
                
                 '设置在这里应用,但是保存和关闭会删除它们
                 wb.SaveAs fileName:=文件,FileFormat:= xlOpenXMLWorkbook
                 wb.Close SaveChanges:= True
                
                 Application.DisplayAlerts = True
         万一
     下一个
 退出子

 ErrorHandler:
     调试打印错误说明
      继续下一个
 结束子



 

一周热门 更多>