Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Excel - Run-time Error 50289 €“ Can't perform operation
Hi guys,
I am trying to use the following block of code to insert a function in a worksheet. If the VBA Project is not protected, the macro runs just fine, but when locking the project for viewing, I get the following error: "Run-time Error 50289 €“ Can't perform operation since the project is protected" How can I work it around? Thanks in advance, Aldo. Function CreateProcedureForIndex(Optional wksName As String, Optional eventName As String, Optional objectName As String) Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Const DQUOTE = """" 'one " character Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents(Sheets(wksName).CodeName) Set CodeMod = VBComp.CodeModule With CodeMod LineNum = LineNum + 1: .InsertLines LineNum, "Option Explicit" LineNum = .CreateEventProc(eventName, objectName) ' + 1 LineNum = LineNum + 1: .InsertLines LineNum, " If Cells(Target.row, Target.Column + 1).Value = ""Chart Sheet"" Then" LineNum = LineNum + 1: .InsertLines LineNum, " Charts(Target.Value).Activate" LineNum = LineNum + 1: .InsertLines LineNum, " End if" End With End Function |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Excel - Run-time Error 50289 - Can't perform operation
If you want to access the VB Project by code, you will need to unprotect it.
The whole purpose of the lock VB code for viewing is to prevent changes. You cannot remove the password protection with code. "Aldo" wrote in message ... Hi guys, I am trying to use the following block of code to insert a function in a worksheet. If the VBA Project is not protected, the macro runs just fine, but when locking the project for viewing, I get the following error: "Run-time Error 50289 - Can't perform operation since the project is protected" How can I work it around? Thanks in advance, Aldo. Function CreateProcedureForIndex(Optional wksName As String, Optional eventName As String, Optional objectName As String) Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Const DQUOTE = """" 'one " character Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents(Sheets(wksName).CodeName) Set CodeMod = VBComp.CodeModule With CodeMod LineNum = LineNum + 1: .InsertLines LineNum, "Option Explicit" LineNum = .CreateEventProc(eventName, objectName) ' + 1 LineNum = LineNum + 1: .InsertLines LineNum, " If Cells(Target.row, Target.Column + 1).Value = ""Chart Sheet"" Then" LineNum = LineNum + 1: .InsertLines LineNum, " Charts(Target.Value).Activate" LineNum = LineNum + 1: .InsertLines LineNum, " End if" End With End Function |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Excel - Run-time Error 50289 - Can't perform operation
Hi,
I do not intend to change the password. I am the one who set up the password. I said that, when running the macro (from Excel) while the VBA editor is closed and password protected, I get the error... Thanks. "JLGWhiz" wrote: If you want to access the VB Project by code, you will need to unprotect it. The whole purpose of the lock VB code for viewing is to prevent changes. You cannot remove the password protection with code. "Aldo" wrote in message ... Hi guys, I am trying to use the following block of code to insert a function in a worksheet. If the VBA Project is not protected, the macro runs just fine, but when locking the project for viewing, I get the following error: "Run-time Error 50289 - Can't perform operation since the project is protected" How can I work it around? Thanks in advance, Aldo. Function CreateProcedureForIndex(Optional wksName As String, Optional eventName As String, Optional objectName As String) Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Const DQUOTE = """" 'one " character Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents(Sheets(wksName).CodeName) Set CodeMod = VBComp.CodeModule With CodeMod LineNum = LineNum + 1: .InsertLines LineNum, "Option Explicit" LineNum = .CreateEventProc(eventName, objectName) ' + 1 LineNum = LineNum + 1: .InsertLines LineNum, " If Cells(Target.row, Target.Column + 1).Value = ""Chart Sheet"" Then" LineNum = LineNum + 1: .InsertLines LineNum, " Charts(Target.Value).Activate" LineNum = LineNum + 1: .InsertLines LineNum, " End if" End With End Function |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Excel - Run-time Error 50289 - Can't perform operation
but the error occurs when the VB code is locked for viewing... thats locking
it for editing too, which is what your code is trying to do. "Aldo" wrote in message ... Hi, I do not intend to change the password. I am the one who set up the password. I said that, when running the macro (from Excel) while the VBA editor is closed and password protected, I get the error... Thanks. "JLGWhiz" wrote: If you want to access the VB Project by code, you will need to unprotect it. The whole purpose of the lock VB code for viewing is to prevent changes. You cannot remove the password protection with code. "Aldo" wrote in message ... Hi guys, I am trying to use the following block of code to insert a function in a worksheet. If the VBA Project is not protected, the macro runs just fine, but when locking the project for viewing, I get the following error: "Run-time Error 50289 - Can't perform operation since the project is protected" How can I work it around? Thanks in advance, Aldo. Function CreateProcedureForIndex(Optional wksName As String, Optional eventName As String, Optional objectName As String) Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Const DQUOTE = """" 'one " character Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents(Sheets(wksName).CodeName) Set CodeMod = VBComp.CodeModule With CodeMod LineNum = LineNum + 1: .InsertLines LineNum, "Option Explicit" LineNum = .CreateEventProc(eventName, objectName) ' + 1 LineNum = LineNum + 1: .InsertLines LineNum, " If Cells(Target.row, Target.Column + 1).Value = ""Chart Sheet"" Then" LineNum = LineNum + 1: .InsertLines LineNum, " Charts(Target.Value).Activate" LineNum = LineNum + 1: .InsertLines LineNum, " End if" End With End Function |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Excel - Run-time Error 50289 - Can't perform operation
Let me try to be more specific. When you lock VB Project for Viewing by
setting a password on the project. The project cannot be accessed by anyone, in any fashion, without first manually unprotecting the project by using the password. The existing code will run while it is protected, but it cannot be edited, added to or diminished while the protection is in effect. To run the code you are trying to run, you will have to manually unprotect the VBA project. "Aldo" wrote in message ... Hi, I do not intend to change the password. I am the one who set up the password. I said that, when running the macro (from Excel) while the VBA editor is closed and password protected, I get the error... Thanks. "JLGWhiz" wrote: If you want to access the VB Project by code, you will need to unprotect it. The whole purpose of the lock VB code for viewing is to prevent changes. You cannot remove the password protection with code. "Aldo" wrote in message ... Hi guys, I am trying to use the following block of code to insert a function in a worksheet. If the VBA Project is not protected, the macro runs just fine, but when locking the project for viewing, I get the following error: "Run-time Error 50289 - Can't perform operation since the project is protected" How can I work it around? Thanks in advance, Aldo. Function CreateProcedureForIndex(Optional wksName As String, Optional eventName As String, Optional objectName As String) Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Const DQUOTE = """" 'one " character Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents(Sheets(wksName).CodeName) Set CodeMod = VBComp.CodeModule With CodeMod LineNum = LineNum + 1: .InsertLines LineNum, "Option Explicit" LineNum = .CreateEventProc(eventName, objectName) ' + 1 LineNum = LineNum + 1: .InsertLines LineNum, " If Cells(Target.row, Target.Column + 1).Value = ""Chart Sheet"" Then" LineNum = LineNum + 1: .InsertLines LineNum, " Charts(Target.Value).Activate" LineNum = LineNum + 1: .InsertLines LineNum, " End if" End With End Function |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
VBA Excel - Run-time Error 50289 €“ Can't perform operation
are you doing this correctly? its very rare that one would need code to
write more code. And if you're inserting a function into a worksheet, its not clear from your code either. "Aldo" wrote in message ... Hi guys, I am trying to use the following block of code to insert a function in a worksheet. If the VBA Project is not protected, the macro runs just fine, but when locking the project for viewing, I get the following error: "Run-time Error 50289 €“ Can't perform operation since the project is protected" How can I work it around? Thanks in advance, Aldo. Function CreateProcedureForIndex(Optional wksName As String, Optional eventName As String, Optional objectName As String) Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Const DQUOTE = """" 'one " character Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents(Sheets(wksName).CodeName) Set CodeMod = VBComp.CodeModule With CodeMod LineNum = LineNum + 1: .InsertLines LineNum, "Option Explicit" LineNum = .CreateEventProc(eventName, objectName) ' + 1 LineNum = LineNum + 1: .InsertLines LineNum, " If Cells(Target.row, Target.Column + 1).Value = ""Chart Sheet"" Then" LineNum = LineNum + 1: .InsertLines LineNum, " Charts(Target.Value).Activate" LineNum = LineNum + 1: .InsertLines LineNum, " End if" End With End Function |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Is there a function to perform this operation? | Excel Discussion (Misc queries) | |||
Cant perform operation since the project is protected | Excel Programming | |||
Can't perform requested operation in excel macro | Excel Programming | |||
Connection Cannot Be Used to Perform this Operation | Excel Programming | |||
Proplem copying a Module - Error 50289 | Excel Programming |