segunda-feira, 22 de agosto de 2011

Macro não executa em arquivo XML com criptografia - Office 2007

Para contornar esse problema, desative a verificação antivírus em arquivos criptografados que contêm macros. Para fazer isso, execute as seguintes etapas:
  1. Sair de programas do Office 2007.
  2. Clique em Iniciar , clique em Executar , digite regedit e, em seguida, clique em OK .
  3. Localize e clique em uma das seguintes subchaves do Registro conforme apropriado:
    • HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security
    • HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\PowerPoint\Security
    • HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Security
  4. No menu Editar , aponte para novo e, em seguida, clique em Valor DWORD .
  5. Digite um dos seguintes nomes de valor dependendo a subchave do registro que você clicou na etapa 3 e, em seguida, pressione ENTER:
    • ExcelBypassEncryptedMacroScan
    • PowerPointBypassEncryptedMacroScan
    • WordBypassEncryptedMacroScan
  6. Clique com o botão direito do mouse no valor DWORD que você criou na etapa 4 e, em seguida, clique em Modificar .
  7. Na caixa dados do valor , digite 1 e, em seguida, clique em OK .
  8. No menu arquivo , clique em Sair para sair do Editor do Registro.
Link com solução completa: http://support.microsoft.com/kb/927150/pt-br


Não esqueça de deixar seu comentário!

quarta-feira, 17 de agosto de 2011

Desproteger / desbloquear / destravar planilha excel com senha

Devemos criar uma nova macro e inserir o código abaixo, caso a planilha bloqueada não aceite, abra uma nova planilha, insira o código na nova macro e execute com a planilha bloqueada também aberta, aguarde, em seguida a confirmação que a planilha esta desbloqueada irá aparecer.


Sub DesprotegerPlanilhaAtiva()
Dim i, i1, i2, i3, i4, i5, i6 As Integer, j As Integer, k As Integer, l As Integer, m As Integer, n As Integer
On Error Resume Next
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 65 To 66
For m = 65 To 66
For i1 = 65 To 66
For i2 = 65 To 66
For i3 = 65 To 66
For i4 = 65 To 66
For i5 = 65 To 66
For i6 = 65 To 66
For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "Planilha desprotegida com sucesso!!!"
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
End Sub

sexta-feira, 12 de agosto de 2011

.BAT - Criar script de backup / cópia de arquivos

Ao termos a necessidade de copiar e/ou fazer backup, dependendo do volume de informações, isso leva certo tempo de dedicação que muitas vezes não dispomos.

Porém, podemos ganhar tempo automatizando essa tarefa, pensando nisso, irei descrever como criar um arquivo de lote, mais conhecido como ".bat".

Irei usar como exemplo a cópia do conteúdo do diretório "Meus documentos" e usuário "Administrador", sistema operacional Windows XP e pasta Backup criada em um HD externo idenficado como F:\.

1. Clique Iniciar, Executar e digite "notepad" para iniciar o Bloco de Notas, vamos iniciar nossa seqüencia de comandos inserindo "xcopy/e/h/d/v/y" sem aspas, ao final irei descrever a função de cada um.

2. Abra o Windows Explorer e navegue ate a pasta "Meus documentos" e copie o endereço de origem: "C:\Documents and Settings\Administrador\Meus documentos", no BN insira um espaço após o primeiro comando e cole a origem, entre aspas.

3. Insira um espaço após o caminho de origem e digite entre aspas duplas "F:\Backup".

4. Clique em Arquivo, Salvar e no final escolhido adicione a extensão .bat.

5. Agora é só executar o arquivo salvo e a cópia do conteúdo de "Meus documentos" estará disponível na pasta Backup.

Traduzindo:
xcopy: copia arquivos e arvores de diretórios
/e: copia diretórios e subdiretórios, inclusive os vazios
/h: copia arquivos ocultos e do sistema tambem
/d: copia os arquivos alterados durante ou após a data especificada. Se não for definida uma data, copia apenas os arquivos cujo tempo de origem seja mais novo do que o tempo de destino.
/v: verifica o tamanho de cada novo arquivo
/y: copia tudo, não solicitando confirmação de substituição