因此,我想打开一个受密码保护的excel文件,提示用户输入密码,但在提示用户之前,我想检查该文件是否确实需要密码。
我目前的方法就是这样,而且确实有效。
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文件,如果失败,则会提示用户。不过,这并不是一个特别快或特别优雅的解决方案。有没有更好的方法?也许在尝试打开之前直接检查属性?谢谢
发布于 2013-04-24 17:56:26
根据以下信息,您无法在打开Excel文件之前判断该文件是否受密码保护:http://www.mrexcel.com/archive/General/2130.html
在这种讨论中,他们基本上是在建议你已经在做的事情。然而,最后一张海报确实表明,将密码传递给非密码保护的文件没有任何效果,因此您可以始终抢先传递密码作为替代方案(取决于应用程序的逻辑)。
https://stackoverflow.com/questions/16185174
复制相似问题