Notifications
Clear all

Atualizar vinculo com senha

11 Posts
2 Usuários
0 Reactions
5,125 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal,
Alguém já criou um macro para atualizar vinculo com outras planilhas com senha de proteção?

Tenho uma planilha que atualizo todos os dias, e é um saco ficar colocando as senhas para atualizar os vinculos.

Vlw.

 
Postado : 13/01/2012 7:53 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Caio, seria melhor postar seu arquivo...

Veja se isso pode te ajudar.

Sub UnProtect_Modify_Protect()

  ThisWorkbook.Worksheets("Sheet1").Unprotect Password:="Password"
'Unprotect

  ThisWorkbook.ActiveSheet.Range("A1").FormulaR1C1 = "Changed"
'Modify

  ThisWorkbook.Worksheets("Sheet1").Protect Password:="Password"
'Protect

End Sub
 
Postado : 13/01/2012 9:39 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigo,
Acho que esse código abaixo não é para atualizar vinculo.

 
Postado : 16/01/2012 5:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caio, veja se o a dica do Adilson e JValk no Forum da Info ajudam :

Proteger e desproteger planilha via macro
em relação a abertura da planilha,como fazer, via código, para atualizar vínculos automaticamente...
http://info.abril.com.br/forum/viewtopic.php?t=2337

Macro proteger varias planilhas com senha
http://info.abril.com.br/forum/viewtopi ... 01&t=10179

[]a

 
Postado : 16/01/2012 5:17 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Perdão Caio, não onde estava com a cabeça.

Att..

 
Postado : 16/01/2012 5:46 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Então,
Mesmo utilizando o código abaixo, quando executado abre a caixa pedindo para colocar a senha.

A planilha está com proteção de gravação.

Sub Atualiza_vinculo()

    'Realiza a abertura do arquivo
    Application.AskToUpdateLinks = True
    Workbooks.Open Filename:="c:Base.xls"
    'Desprotege a planilha Valores utilizado o password "Senha"
    Sheets("Valores").Unprotect ("senha")
    'Realize suas modificações de acordo com o planejado
    'Protege novamente a planilha
    Sheets("Valores").Protect ("senha")
    'Salva as alterações
    Application.AskToUpdateLinks = False
    ActiveWorkbook.Save
    'Fecha o arquivo
    ActiveWindow.Close

End Sub
 
Postado : 17/01/2012 5:18 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caio, conforme o site abaixo, faça as adaptações e teste :

How to Open a Document Linked to Password-Protected Sheet
http://support.microsoft.com/default.as ... N-US;63091

      Sub TestPassword()
         'Open the workbook with the password (Test2.xls) first and supply
         'the password with the password argument.
         Workbooks.Open filename:="Test2.xls", updateLinks:=3, _
            password:="test"
         'When Test1.xls is opened, the links are updated automatically.
         Workbooks.Open filename:="Test1.xls", updateLinks:=3
         'Becuase Test2.xls is open, you can close Test2.xls.
         Workbooks("Test2.xls").Close
      End Sub

[]s

 
Postado : 17/01/2012 5:40 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Funcionou,
Porém não sei se será o ideal fazer isso,
já que são muitos arquivos com vinculos, vai ficar muito lento eu acho.

vou fazer alguns testes!

Valeu.

 
Postado : 17/01/2012 5:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caio, acredito que realmente fique lento, mas só fazendo os testes e ver se realmente compensa.

No link abaixo tem uma adaptação da rotina que passei, alias foi de onde tirei a dica do tópico acima, para mais de um arquivo, veja se ajuda :

Atualizar planilha com dados de um pasta de trabalho com senha de protecao
http://br.groups.yahoo.com/group/ExcelBr/message/35751

Sub AtualizaVinculos()
 
    'Modificada por Márcio Pinto beseado no exemplo do site:
    'http://support.microsoft.com/default.aspx?scid=kb;EN-US;63091
 
    Dim planilhas(13) As String
    Dim senhas(13) As String
    
    planilhas(0) = "caminho da pasta Janeiro.xls"
    planilhas(1) = "caminho da pasta fevereiro.xls"
    planilhas(2) = "caminho da pasta marco.xls"
    planilhas(3) = "caminho da pasta abril.xls"
    planilhas(4) = "caminho da pasta maio.xls"
    planilhas(5) = "caminho da pasta junho.xls"
    planilhas(6) = "caminho da pasta julho.xls"
    planilhas(7) = "caminho da pasta agosto.xls"
    planilhas(8) = "caminho da pasta setembro.xls"
    planilhas(9) = "caminho da pasta outubro.xls"
    planilhas(10) = "caminho da pasta novembro.xls"
    planilhas(11) = "caminho da pasta dezembro.xls"
    planilhas(12) = "caminho da pasta resumo.xls"
 
    senha = "senhaDaPasta"
 
    For I = 0 To 12
        Workbooks.Open Filename:=planilhas(I), UpdateLinks:=3, Password:=senha
    Next
    
    For I = 0 To 11
        Workbooks(planilhas(I)).Close
    Next
    
    ThisWorkbook.Close
 
End Sub

[]s

 
Postado : 17/01/2012 6:13 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

OK!
Interessante, mas dependedo dos arquivos deve ficar uma carroça o excel..rsrs

Valeuu!!

 
Postado : 17/01/2012 8:15 am
(@pedro-c)
Posts: 0
New Member
 

Olá, sou novo aqui no fórum mais já tenho uma dúvida. Eu fiz tudo certinho, mas quando eu executo aparece o erro 9 na linha em que está grifado, não consigo identificar o erro.

Alguém poderia me ajudar?

Desde já agradeço!

Sub AtualizaVinculos()

'Modificada por Márcio Pinto beseado no exemplo do site:
'http://support.microsoft.com/default.aspx?scid=kb;EN-US;63091

Dim planilhas(12) As String
Dim senhas(12) As String

planilhas(0) = "\fsb2w0234. Suprimentos14. CMU1. JaneiroCMU - Janeiro 2016.xlsm"
planilhas(1) = "\fsb2w0234. Suprimentos14. CMU2. FevereiroCMU - Fevereiro 2016.xlsm"
planilhas(2) = "\fsb2w0234. Suprimentos14. CMU3. MarçoCMU - Março 2016.xlsm"
planilhas(3) = "\fsb2w0234. Suprimentos14. CMU4. AbrilCMU - Abril 2016.xlsm"
planilhas(4) = "\fsb2w0234. Suprimentos14. CMU5. MaioCMU - Maio 2016.xlsm"
planilhas(5) = "\fsb2w0234. Suprimentos14. CMU6. JunhoCMU - Junho 2016.xlsm"
planilhas(6) = "\fsb2w0234. Suprimentos14. CMU7. JulhoCMU - Julho 2016.xlsm"
planilhas(7) = "\fsb2w0234. Suprimentos14. CMU8. AgostoCMU - Agosto 2016.xlsm"
planilhas(8) = "\fsb2w0234. Suprimentos14. CMU9. SetembroCMU - Setembro 2016.xlsm"
planilhas(9) = "\fsb2w0234. Suprimentos14. CMU10. OutubroCMU - Outubro 2016.xlsm"
planilhas(10) = "\fsb2w0234. Suprimentos14. CMU11. NovembroCMU - Novembro 2016.xlsm"
planilhas(11) = "\fsb2w0234. Suprimentos14. CMU12. DezembroCMU - Dezembro 2016.xlsm"

senha = "TESTE"

For I = 0 To 11
Workbooks.Open Filename:=planilhas(I), UpdateLinks:=3, Password:=senha
Next

For I = 0 To 11
Workbooks(planilhas(I)).Close

Next

End Sub

 
Postado : 17/05/2016 10:10 am