Olá! Hoje você vai aprender algumas Formas de abrir uma Pasta de Trabalho com VBA.

Primeiramente, para abrir uma pasta de trabalho com VBA usamos o método Workbooks.Open no qual especificamos o caminho onde se encontra o arquivo que queremos abrir.

Sua sintaxe é:

Workbooks.Open (FileNameUpdateLinksReadOnlyFormatPasswordWriteResPasswordIgnoreReadOnlyRecommendedOriginDelilimiterEditableNotifyConverterAddToMruLocalCorruptLoad)

Essa sintaxe virá desta forma, realmente em inglês, mas, abaixo segue um resumo elaborado pela própria Microsoft sobre o significado de cada uma.

Argumentos do Workbooks.Open

  • FileName: String. O nome de arquivo da pasta de trabalho a ser aberta.
  • UpdateLinks: Especifica a forma como as referências externas (links) no arquivo, como a referência a um intervalo em uma pasta de trabalho são atualizadas.
  • ReadOnly: Verdadeiro para abrir a pasta de trabalho em modo somente leitura.
  • Format: Se o Microsoft Excel abrir um arquivo de texto, esse argumento especificará o caractere delimitador.
  • Se esse argumento for omitido, o delimitador atual será usado.
  • Para saber mais sobre os valores usados por esse parâmetro, veja a seção Comentários.
  • Password: Uma cadeia de caracteres que contém a senha necessária para abrir uma pasta de trabalho protegida.
  • WriteResPassword: Uma cadeia de caracteres que contém a senha necessária para gravar uma pasta de trabalho reservada para gravação.
  • Caso esse argumento seja omitido e se a pasta de trabalho exigir uma senha, será solicitada uma senha.
  • IgnoreReadOnlyRecommended: True para fazer com que o Microsoft Excel não exiba a mensagem recomendada somente leitura (se a pasta de trabalho tiver sido salva com a opção Somente Leitura Recomendada).
  • Origin: Se o arquivo for um arquivo de texto, esse argumento indicará onde foi originado, de forma que as páginas de código e o Retorno de Carro/Alimentação de Linha (CR/LF) possam ser mapeadas corretamente. Pode ser uma das seguintes constantes XlPlatform : xlMacintosh, xlWindows ou xlMSDOS.
  • Se esse argumento for omitido, o sistema operacional atual será usado.
  • Delimitador: Se o arquivo for um arquivo de texto e o argumento Formatar for 6, esse argumento será uma cadeia de caracteres que especifica o caractere a ser usado como delimitador.
  • Por exemplo, use Chr(9) para tabulações, use “,” para vírgulas, use “;” para ponto-e-vírgulas ou use um caractere personalizado.
  • Somente o primeiro caractere da cadeia de caracteres será usado.
  • Editable: Se o arquivo for um suplemento do Microsoft Excel 4.0, esse argumento será True para abrir o suplemento, de forma que seja uma janela visível.
  • Se esse argumento for False ou se for omitido, o suplemento será aberto como oculto e não poderá ser reexibido.
  • Essa opção não se aplica a suplementos criados no Microsoft Excel 5.0 ou posterior.
  • Se o arquivo for um modelo do Excel, True para abrir o modelo especificado para edição.
  • False para abrir uma nova pasta de trabalho com base no modelo especificado.
  • O valor padrão é False.
  • Notify: Se o arquivo não puder ser aberto em modo leitura/gravação, esse argumento será True para adicionar o arquivo para a lista de notificações de arquivo.
  • O Microsoft Excel abrirá o arquivo como somente leitura.
  • Converter: O índice do primeiro conversor de arquivos a ser experimentado na abertura do arquivo.
  • O conversor do arquivo especificado será experimentado primeiro; se esse conversor não reconhecer o arquivo, todos os outros conversores serão experimentados.
  • O índice de conversor consiste nos números de linha dos conversores retornados pela propriedade FileConverters.
  • AddToMru: True para adicionar esta pasta de trabalho à lista de arquivos usados recentemente.
  • O valor padrão é False.
  • Local: True salva os arquivos na linguagem do Microsoft Excel (incluindo as configurações do painel de controle).
  • False (padrão) salva arquivos na linguagem do Visual Basic for Applications (VBA).
  • CorruptLoad: Pode ser uma das seguintes constantes: xlNormalLoad, xlRepairFile e xlExtractData.
  • O comportamento padrão se nenhum valor for especificado é xlNormalLoad e não tentará a recuperação quando iniciado por meio do OM.

Agora vamos para algumas dicas de formas de abrir uma Pasta de Trabalho.

Pasta de Trabalho protegida por senha

Em primeiro lugar, vamos aprender como abrir uma Pasta de Trabalho protegida por senha.

No exemplo abaixo, estamos tentando abrir um arquivo chamado Teste.xlsx que se encontra na pasta Arquivos do meu computador na unidade C:.

A senha deste arquivo é abc123.

Workbooks.Open “C:\Arquivos\Teste.xlsx”, , , Password:=”abc123″

Abrir Pasta de Trabalho somente leitura

No código abaixo vamos abrir um arquivo chamado Teste, somente como leitura. Neste caso, não podemos modificá-lo, mas, podemos salvar uma cópia.

Workbooks.Open “C:\Arquivos\Teste.xlsx”, , True

Abrir todas as Pastas de Trabalho de uma pasta do computador

O código abaixo possibilitar abrir várias pastas de trabalho de uma só vez.

Sub abrir_pastas_folder()
Dim wb As Workbook
Dim strFolder As String
Dim strFile As String
strFolder = “C:\Arquivos\”
strFile = Dir(strFolder & “*.xls*”)
Do While strFile <> “”
Set wb = Workbooks.Open(strFolder & strFile)
strFile = Dir
Loop
End Sub

E aí gostou das dicas?

Qualquer dúvida, poste aí embaixo nos comentários. Até a próxima!

Tags: | | | | |

Precisa de Aulas de Excel?

Aulas de Excel, trabalhos e planilhas personalizadas!

Fale Comigo Agora* Basta clicar no botão acima

Sobre o Autor

2 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


  1. Boa tarde. Preciso urgentemente de sua ajuda: qual código de VBA poderia utilizar para copiar a uma planilha inteira de uma pasta de trabalho Excel e colar em várias outras pastas de trabalho Excel já existentes em uma em um mesmo diretório? Teria como copiar apenas a formatação da planilha inteira?

  2. Jeff, bom dia!
    Veja se o código abaixo serve para você.

    Sub CopiarFormatacaoParaOutrasPastas()
    Dim pastaOrigem As Workbook
    Dim pastaDestino As Workbook
    Dim caminho As String
    Dim arquivo As String
    Dim planilhaOrigem As Worksheet
    Dim planilhaDestino As Worksheet

    ‘ Defina o caminho da pasta de trabalho original
    caminho = “C:\Caminho\Para\Sua\Pasta\De\Trabalho\”
    ‘ Substitua “SuaPastaOriginal.xlsx” pelo nome da sua pasta de trabalho original
    arquivo = “SuaPastaOriginal.xlsx”

    ‘ Abra a pasta de trabalho original
    Set pastaOrigem = Workbooks.Open(caminho & arquivo)
    ‘ Substitua “PlanilhaOriginal” pelo nome da sua planilha original
    Set planilhaOrigem = pastaOrigem.Sheets(“PlanilhaOriginal”)

    ‘ Itere sobre todos os arquivos na mesma pasta
    Dim fileName As String
    fileName = Dir(caminho & “*.xlsx”)

    Do While fileName <> “”
    ‘ Verifique se o arquivo não é o original
    If fileName <> arquivo Then
    ‘ Abra a pasta de trabalho de destino
    Set pastaDestino = Workbooks.Open(caminho & fileName)
    ‘ Substitua “PlanilhaDestino” pelo nome da sua planilha de destino
    Set planilhaDestino = pastaDestino.Sheets(“PlanilhaDestino”)

    ‘ Copie a formatação da planilha original para a planilha de destino
    planilhaOrigem.Cells.Copy
    planilhaDestino.Cells.PasteSpecial Paste:=xlPasteFormats

    ‘ Feche a pasta de trabalho de destino sem salvar as alterações
    pastaDestino.Close SaveChanges:=False
    End If

    ‘ Obtenha o próximo arquivo na pasta
    fileName = Dir
    Loop

    ‘ Feche a pasta de trabalho original sem salvar as alterações
    pastaOrigem.Close SaveChanges:=False
    End Sub

    Aí neste caso você tem que substituir as informações do seu computador e nomes das planilhas.

Solicitar exportação de dados

Utilize este formulário para solicitar uma cópia dos seus dados neste site.

Solicitar remoção de dados

Utilize este formulário para solicitar a remoção dos seus dados neste site.

Solicitar retificação de dados

Utilize este formulário para solicitar a retificação dos seus dados neste site. Aqui você pode corrigir ou atualizar seus dados por exemplo.

Solicitar cancelamento de inscrição

Utilize este formulário para solicitar o cancelamento de inscrição do seu e-mail em nossas Listas de E-mail.