Aviso de segurança de conteúdo ativo em todos os arquivos

4

Sempre que abro um ficheiro *.mdb ou *.accdb , obtenho a barra de mensagens amarela com um texto em espanhol que se traduz como:

Security Warning: Some active content has been disabled. Click for more details.

... e um botão chamado "Ativar conteúdo". Aqui está uma captura de tela que encontrei da versão em inglês:

Obotãofazabarradesaparecereparecelembrardaminhadecisãosobreoarquivoatual.Olink"mais detalhes" abre o painel "Informações de arquivo", onde posso ler que " Macros VBA " foram desativados.

O problema é que eu não estou recebendo este aviso para arquivos específicos: estou obtendo de todos os arquivos , incluindo aqueles que aparentemente não possuem macros (as "Ferramentas de banco de dados- & gt Visual Basic "não mostra nenhum código). Mesmo se eu for para "Arquivo- > Novo" e criar um banco de dados em branco, o aviso será exibido quando eu abri-lo.

Minhas perguntas:

  1. O aviso deve aparecer sempre, não importa o conteúdo do arquivo?

  2. Se não, onde posso encontrar as macros VBA que o Access está relatando?

por Álvaro González 19.06.2013 / 16:54

4 respostas

4

Outra maneira de corrigir isso é criar um local confiável para seu projeto. você pode usar uma chave do Registro para tornar sua pasta um local confiável. Isso é realmente mais fácil do que sons quando você sabe qual tecla definir.

A chave de registro é um pouco diferente para cada versão do MS Access, mas aqui está uma chave de exemplo para o MS Access 2010:

[HKEY_CURRENT_USER\Software\Microsoft\Office.0\Access\Security\Trusted Locations\Location20] "Path"="C:\Database\" "Description"="My Database location"

Se você copiar e colar a citação acima em um arquivo de texto e salvá-lo com um nome como RemoveSecurityWarning.reg, poderá executar (mesclar) o arquivo no registro de seus computadores simplesmente clicando duas vezes no arquivo.

Agora, vamos explicar algumas coisas sobre o que essa chave fez:

  • O número "14.0" é a versão do MS Office. Você pode simplesmente mudar isso para o número que representa a versão que você é corrida.
  • O "Location20" é um nome exclusivo que atribuímos. o 20 pode ser qualquer número que ainda não tenha sido usado. Outros programas, incluindo assistentes padrão do MS Access, já pode ter usado outros números. Ou se você quiser fazer mais de um caminho como confiável localização, cada local deve terminar com um número diferente.
  • O "C: \ Database \" é, na verdade, o caminho físico que você deseja definir para ser um local confiável. Você pode colocar qualquer caminho que você escolher Aqui. Eu não tenho certeza porque ele usa double \, mas eu apenas copiei o exemplo de como as chaves anteriores foram criadas e isso pareceu funcionar melhor.
  • A Descrição não é necessária, mas obviamente qualquer descrição pode ser usada.

Para mais detalhes, leia este artigo: link

    
por 24.12.2013 / 06:06
1

O Access 2010 protege automaticamente contra todas as macros, a menos que você diga o contrário. Também desativará o conteúdo de arquivos nos quais ele não confia. Você deve dizer em quais confiar via o Trust Center.

No Access 2010, a Central de Confiabilidade controla qual conteúdo é permitido e pode ser acessado pelo botão File > Options > Trust Center > Trust Center Settings .

DentrodoTrustCenter,vocêpodealterarasconfiguraçõesdemacroeadicionararquivoselocaisàsconfiguraçõesdeconfiança.

    
por 19.06.2013 / 18:51
0

link descreve como para descobrir isso:

To see a list blocked active-content types, go to the Trust Center dialog box.

Existe uma lista nessa página dos tipos de conteúdo que podem ser aplicados.

    
por 19.06.2013 / 17:18
-1

Outra maneira de fazer isso é executar uma alteração no registro de um local de produto específico que fará isso em todos os bancos de dados de acesso, bem como no Excel ou no Word. Existe um valor conhecido como VBAWarnings que, por padrão, tem o valor definido como 2 e quando você o altera para 1, a faixa amarela não será exibida.

Se você estiver usando o C #, use o seguinte código:

using Microsoft.Win32; // for required for registry reading/writing

// Opening the Registry Key
RegistryKey rk = Registry.CurrentUser;
// Open the corresponding Subkey
// I have to use CreateSubKey
// (create or open it if already exists),
// 'cause OpenSubKey open a subKey as read-only
RegistryKey sk1 = rk.CreateSubKey("Software\Microsoft\OFFICE\14.0\Access\Security");
// Save the value to change Macro Settings in Security Warning
//sk1.SetValue("VBAWarnings, 4); //Disable all macros without notification
//sk1.SetValue("VBAWarnings, 3); //Disable all macros except digitally signed macros
//sk1.SetValue("VBAWarnings, 2); //Disable all macros with notification - Default Office Setting
sk1.SetValue("VBAWarnings", 1); // Enable all macros

Este código é estrita e diretamente para o Access 2010, mas pode ser alterado para percorrer o registro, incluindo produtos. Basicamente, você tem que fazer o ciclo por lançamento, observe onde lê 14.0, pode ser qualquer outro lançamento do produto. Se não estiver enganado, 14.0 é para o Office 2010, 12.0 é para o Office 2007, etc .; e onde lê o Access pode ser alterado para o Excel, bem como o Word.

    
por 24.02.2015 / 17:02