ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Automation Security and unexpected program termination (https://www.excelbanter.com/excel-programming/437873-automation-security-unexpected-program-termination.html)

Arne

Automation Security and unexpected program termination
 
I want to open an Excel workbook which I know is read-only (password
protected), and contains code. To load the file and to disable the code, I set
Application.AutomationSecurity = msoAutomationSecurityForceDisable, and then
open the workbook:
Application.Workbooks.Open Filename:=strFileName,
WriteResPassword:=strWriteResPassw
This works, but also the code execution stops without any error messages. Is
this the expected result of this sequence? The problem does not occur when I
do not alter the default automationsecurity setting.

joel[_441_]

Automation Security and unexpected program termination
 

why not open the workbook in read only mode?

Application.Workbooks.Open Filename:=strFileName, Readonly:=true


--
joel
------------------------------------------------------------------------
joel's Profile: 229
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=165912

Microsoft Office Help


Arne

Automation Security and unexpected program termination
 
Because I want the user be able to edit the file conveniently (without the
events being triggered, which is why I want the vba code on the file
disabled, but disabling events is not an option, because I want them to
remain active on other open files) and save it under the original name.

"joel" wrote:


why not open the workbook in read only mode?

Application.Workbooks.Open Filename:=strFileName, Readonly:=true


--
joel
------------------------------------------------------------------------
joel's Profile: 229
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=165912

Microsoft Office Help

.


Arne

Automation Security and unexpected program termination
 
It's almost as if the code that is being executed (which is, by the way, in
an add-in) switches itself off. It also happens when I choose to switch off
the macro attached to the file to be opened via the UI that appears when I do
not set the automation security. However, when I choose to activate the macro
at that point, the code execution does continue without problems. When I
place an 'on error resume next' statement before the line where the file is
opened, the problem remains.

"Arne" wrote:

I want to open an Excel workbook which I know is read-only (password
protected), and contains code. To load the file and to disable the code, I set
Application.AutomationSecurity = msoAutomationSecurityForceDisable, and then
open the workbook:
Application.Workbooks.Open Filename:=strFileName,
WriteResPassword:=strWriteResPassw
This works, but also the code execution stops without any error messages. Is
this the expected result of this sequence? The problem does not occur when I
do not alter the default automationsecurity setting.


joel[_448_]

Automation Security and unexpected program termination
 

You can open the workbook in safe mode which doesn't run any macros but
still allow changes to be made. the only way I know of opening in
safemode is from the command line prompt using /s.


Comspec = Environ("Comspec")
ExcelExe = Application.Path & "\excel.exe"
FName = "c:\temp\book1.xls"

CommandLine = Comspec & " /k " & Chr(34) & _
ExcelExe & Chr(34) & " /s " & FName

Shell (CommandLine)


--
joel
------------------------------------------------------------------------
joel's Profile: 229
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=165912

Microsoft Office Help


Arne

Automation Security and unexpected program termination
 
OK, thanks. See if I can and want to use that bypass.

"joel" wrote:


You can open the workbook in safe mode which doesn't run any macros but
still allow changes to be made. the only way I know of opening in
safemode is from the command line prompt using /s.


Comspec = Environ("Comspec")
ExcelExe = Application.Path & "\excel.exe"
FName = "c:\temp\book1.xls"

CommandLine = Comspec & " /k " & Chr(34) & _
ExcelExe & Chr(34) & " /s " & FName

Shell (CommandLine)


--
joel
------------------------------------------------------------------------
joel's Profile: 229
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=165912

Microsoft Office Help

.



All times are GMT +1. The time now is 02:00 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com