首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ABAP OLE -检查OLE对象是否受密码保护

ABAP OLE -检查OLE对象是否受密码保护
EN

Stack Overflow用户
提问于 2013-04-24 14:48:15
回答 1查看 761关注 0票数 0

因此,我想打开一个受密码保护的excel文件,提示用户输入密码,但在提示用户之前,我想检查该文件是否确实需要密码。

我目前的方法就是这样,而且确实有效。

代码语言:javascript
复制
CREATE OBJECT app 'EXCEL.APPLICATION'.
CALL METHOD OF app 'WORKBOOKS' = workbook.
CALL METHOD OF workbook 'OPEN'
  EXPORTING
  #1 = arch               "filename
  #2 = 0                  "Update links
  #3 = 0                  "ReadOnly
  #4 = 1                  "Format
  #5 = gv_password.       "password

 IF sy-subrc NE 0.

  CALL METHOD OF app 'QUIT'.
  FREE OBJECT app. FREE OBJECT workbook.
  CLEAR: app, workbook.
  CREATE OBJECT app 'EXCEL.APPLICATION'.

  gv_password = <user_entered_password>

  CALL METHOD OF app 'WORKBOOKS' = workbook.

  CALL METHOD OF workbook 'OPEN'
    EXPORTING
    #1 = arch               "filename
    #2 = 0                  "Update links
    #3 = 0                  "ReadOnly
    #4 = 1                  "Format
    #5 = gv_password.       "password

ENDIF.

这基本上是尝试使用空密码打开excel文件,如果失败,则会提示用户。不过,这并不是一个特别快或特别优雅的解决方案。有没有更好的方法?也许在尝试打开之前直接检查属性?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 17:56:26

根据以下信息,您无法在打开Excel文件之前判断该文件是否受密码保护:http://www.mrexcel.com/archive/General/2130.html

在这种讨论中,他们基本上是在建议你已经在做的事情。然而,最后一张海报确实表明,将密码传递给非密码保护的文件没有任何效果,因此您可以始终抢先传递密码作为替代方案(取决于应用程序的逻辑)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16185174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档