Senha de proteção no codigo de macros

Boas pessoal, coloco aqui a seguinte questão:
Eu tenho uma planilha que tem varias macros. até ai tudo bem, mas a questão que coloco é, como é que eu posso colocar uma proteção a essas macros, ou seja, ao codigo em si. Por exemplo se uma pessoa quiser mexer no codigo de uma planilha que eu desenvolvi, eu queria impor ao utilizador, para colocar uma palavra chave antes de fazer as modificações. Eu sei que de momento só existe dois tipos de proteção, que é a do documento e da planilha. Mas para o codigo, penso que não existe nenhuma proteção.

Em excel sei que isto é possivel fazer atraves da opção Tools/VBAProject - Project Properties/ Protection

Aguardo com alguma urgencia.

Cumprimentos…

Podes colocar uma senha de proteção para macros também.

Para isso suas macros não podem esta na biblioteca Standard. Essa biblioteca não permite colocação de senha.

Crie uma outra biblioteca com um nome qualquer e coloque suas macros, módulos e caixas de diálogo nela. Garanta que tudo funcione dentro desta nova biblioteca, pois os caminhos mudaram.

Em seguida acione Ferramentas → Macros → Organizar Macros → Macros do LibreOffice

Clique em Organizador

Clique na aba Bibliotecas, selecione sua biblioteca

Clique em Senha, forneça uma senha. Clique OK. Feche as caixas de dialogo abertas.

Salve o arquivo que contém sua nova biblioteca.

Abra o arquivo de novo, vá em Ferramentas → Macros → Organizar Macros → Macros do LibreOffice, selecione a biblioteca protegida de seu arquivo.

A senha será pedida para abrir seu conteúdo.

Note que a senha não impede sua macro de executar. Somente de ser vista ou editada.

Obrigado por me esclarecer a questão. cumprimentos…

(pt-BR) senha = (pt-PT) palavra passe, palavra chave


Estou no Swriter a seguir a V/ indicação tanto quanto V/ entendi. Porém, ao clicar em Organizador/Biblioteca “Palavra-passe” está cinza desactivada!?
Onde foi que me perdi ?
Obrigado
Mário Reis

Se já esta vendo as macros da biblioteca, significa que esta sem senha !

DETALHE a biblioteca STANDART não aceita senha.
Se quer proteger as Macros, devera estar em uma Biblioteca criada por ti.

1 Like

Obrigado. Não parecia fácil, mas cheguei lá.
Tenho um novo problema:

DataSource = DatabaseContext.getByName("GestACRA") ' via ODBC «= C:\Users\MREIS\Documents\GestACRA.odb

QRYEMP1 =
SELECT E . CENTIDAD_ID , E . DSCENTIDAD , E . NIF , E . TPMORA || ' ' || E . MORADA || ', N.º: ' || COALESCE ( E . NPOLICIA , E . ANDAR , 'S/' ) Morada , E . USERID ,
L . CPALFA AS CPALFA FROM EMPRESAS E , LOCART L WHERE E . CP4 = L . CP4 AND E . CP3 = L . CP3 AND E . NIF IS NOT NULL AND E . NIF <> ''
até aqui tudo bem. Esta é uma consulta definida [previamente.no](http://previamente.no) **GestACRA.odb**
No programa ou macro
oQuery = Connection.createStatement()
'This allows forward & back scrolling & the necessary checking of 'isBeforeFirst'
oQuery.ResultSetType = com.sun.star.sdbc.ResultSetType.SCROLL_INSENSITIVE
'"SELECT COUNT(""id"") FROM ""tblDummy"""
sDSCENTIDAD = "'"+ sText +"'" 'coalesce (Nickname, FirstName, 'Mr./Mrs.') || ' ' || LastName
' Coalesce(TPMORA, MORADA, 'Rua/Avenida ou Canada')
sSql = "Select FIRST 1 CENTIDAD_ID,DSCENTIDAD, NIF, TPMORA||' '|| MORADA AS MORADA" & _
"**CPALFA** " & _
" From QRYEMP1 " & _
" WHERE Upper( DSCENTIDAD ) CONTAINING upper("+sDSCENTIDAD+")" ' Deveria ser um parâmetro :

oResult = oQuery.executeQuery(sSql) ' Quando corre dá erro mas só aqui.

Corro o mesmo query em qualquer interface e funciona na perfeição
Aqui não conhece o campo CPALFA !?
Poderia ajudar? Obrigado

Gilberto Schiavinatto via Ask LibreOffice <noreply@ask.libreoffice.org> escreveu no dia terça, 11/10/2022 à(s) 18:57:

Ao fim da noite começo a inclinar-me para que o problema seja relacionado com o Drive do ODBC32.EXE, mas ainda não consegui apurar com um mínimo de certeza.

Mário Reis <mariodosreyx@gmail.com> escreveu no dia quarta, 12/10/2022 à(s) 20:42:

Por gentileza, se NOVO PROBLEMA, foi diferente do titulo do tópico, abra NOVO TÓPICO.

Um muito boa tarde. Sim é diferente, porém intimamente relacionando. E, ai balanço.
É que o Acesso a m/ DB via ODBC trava se a m/ DB(FB30) já estiver a ser usada por outro aplicativo?!
Até agora não consegui resolver!
Alguma ideia?

Gilberto Schiavinatto via Ask LibreOffice <noreply@ask.libreoffice.org> escreveu no dia quinta, 13/10/2022 à(s) 09:49:

Se o código for VBA a senha impede a execução da macro. Apresenta erro de “Erro da execução do BASIC. Procedimento sub ou procedimento de function não definido”.

Só funciona se a macro estiver aberta.

Yes the code ia in VBA I realized that waa the problem thanks