Atalho do Excel Workbook Desktop com senha automática?

1

Eu tenho um monte de pastas de trabalho Excel protegidas por senha em meu computador LAN seguro (sem wan).

É possível analisar a senha em um atalho para que ela abra automaticamente uma pasta de trabalho, desde que a senha esteja correta?

Por exemplo:

"S:\resources\Audit.xls" -password "mypass"
    
por Owen Melbourne 19.06.2012 / 17:38

1 resposta

2

Não há um caminho direto, mas com um pouco de codificação, você pode fazer com que o Excel processe parâmetros de linha de comando e abra-os a partir de uma planilha de inicialização.

Usando um atalho que se parece com isso:

"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e/myfilename/mypassword "C:\MyExcelFiles\test.xlsb"

Você pode usar o seguinte código para obter a linha de comando - você terá que extrair os parâmetros que você passou com / e, conforme a linha inteira é retornada

Declare Function StrLenA Lib "kernel32.dll" Alias "lstrlenA" (ByVal Ptr As Long) As Long
Declare Function GetCommandLineA Lib "kernel32.dll" () As Long
Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Function GetCommandLine() As String

Dim CmdStr As Long
Dim N As Long
Dim Buffer As String

   CmdStr = GetCommandLineA 'Get a pointer to a string, which contains the command line
   N = StrLenA(CmdStr) 'Get the length of that string
   Buffer = String(N, Chr$(0)) 'Create a buffer
   CopyMemory ByVal Buffer, ByVal CmdStr, N 'Copy to the buffer
   GetCommandLine = Buffer

End Function
    
por 19.06.2012 / 19:14