VBA Excel - Função DIR - 01 - Percorrer os arquivos em uma pasta - Loop Through the Files in a Folder


No VBA do Microsoft Excel, a função Dir é usada para retornar o primeiro nome do arquivo num diretório especificado, e uma lista dos seus atributos.

O nome do arquivo é retornado como uma String. A função Dir pode ser usada sem os respectivos argumentos para retornar o nome do próximo arquivo, neste mesmo diretório.

O uso mais comum da função Dir é percorrer todos os arquivos de uma pasta, executando uma ação em cada um. Outros usos comuns incluem a verificação da existência destes, saber se um diretório existe, ou procurar um arquivo específico.


Percorrer os arquivos em uma pasta

Sub AllFiles()

Dim MyFolder As String 'Path containing the files for looping
Dim MyFile As String 'Filename obtained by Dir function
Let MyFolder = "C:\ExcelFiles" 'Assign directory to MyFolder variable

Let MyFile = Dir (MyFolder) 'Dir gets the first file of the folder

'Loop through all files until Dir cannot find anymore
Do While MyFile <> ""

    The statements you want to run on each file
   
    Let MyFile = Dir 'Dir gets the next file in the folder

Loop

End Sub



brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

VBA Excel - Função DIR - 02 - Listar os arquivos de uma pasta em uma planilha - List the Files from a Folder on a Worksheet




No VBA do Microsoft Excel, a função Dir é usada para retornar o primeiro nome do arquivo num diretório especificado, e uma lista dos seus atributos.

O nome do arquivo é retornado como uma String. A função Dir pode ser usada sem os respectivos argumentos para retornar o nome do próximo arquivo, neste mesmo diretório.

O uso mais comum da função Dir é percorrer todos os arquivos de uma pasta, executando uma ação em cada um. Outros usos comuns incluem a verificação da existência destes, saber se um diretório existe, ou procurar um arquivo específico.


Listar os arquivos de uma pasta em uma planilha

Sub ListFiles()

Dim MyDirectory As String 'Folder containing the files
Dim MyFile As String 'The filename to enter on the worksheet
Dim NextRow As Long 'The row for the next filename in list

MyDirectory = "C:\ExcelFiles" 'Assign directory to MyDirectory variable

MyFile = Dir(MyDirectory) 'Dir gets the first file in the folder

'Find the next empty row in the list and store in NextRow variable
NextRow = Application.CountA(Range("A:A")) + 1

Do Until MyFile = ""

      Cells(NextRow, 1).value = MyFile
     
      NextRow = NextRow + 1 'Move to the next row

      MyFile = Dir 'Dir gets the name of next file in the folder
Loop

End Sub



brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

VBA Excel - Função DIR - 03 - Verificando a existência de um Arquivo - Check if a Files Exists



No VBA do Microsoft Excel, a função Dir é usada para retornar o primeiro nome do arquivo num diretório especificado, e uma lista dos seus atributos.

O nome do arquivo é retornado como uma String. A função Dir pode ser usada sem os respectivos argumentos para retornar o nome do próximo arquivo, neste mesmo diretório.

O uso mais comum da função Dir é percorrer todos os arquivos de uma pasta, executando uma ação em cada um. Outros usos comuns incluem a verificação da existência destes, saber se um diretório existe, ou procurar um arquivo específico.


Verificando a existência de um Arquivo

Sub FileExists()

      Dim TheFolder As string 'Location of the file
      Dim FiletoCheck As String 'Name of the file you want to check

TheFolder = "C:\ExcelFiles" 'Assign directory to TheFolder variable

'Capture the name of file to check for using an input box
FiletoCheck = InputBox("Enter the name of the file you want to look for", "Enter file name")

'If FiletoCheck is an empty string then file not found
If FiletoCheck = "" Then
     
      Msgbox "Oh no, the file does not exist"

Else

      Msgbox "Yes, the file exists."

End If

End Sub



Tags: Excel, VBA, Files, Folder, list, Dir, filedatetime, xls, xlsm, xlsb, arquivos, pasta, check, exists, function, directory, 

Inline image 1

Excel VBA - Liste todas as Planilhas na Pasta - List All the Excel Files in a folder







Também podemos recuperar algumas informações destes arquivos se necessário. Este código VBA listará os nomes e data da última atualização.



Como isso funciona?

A caixa de diálogo de seleção de pasta é usada para tornar mais fácil para o usuário selecionar o local desejado, retornando os arquivos.

A função Dir será usada para retornar cada nome de arquivo da pasta ou diretório.

Este código retornará listando todos os arquivos Excel contidos na pasta. Especificamos isso ao usar *. XLS na função Dir. O curinga e a extensão podem ser alterados para listar todos os arquivos que desejarmos, ou omitir inteiramente alguns arquivos desta.

O método FileDateTime foi usado para capturar a data de criação ou modificação.


Sub ImportFileList()
Dim MyFolder As String 'Store the folder selected by the using
Dim FiletoList As String 'store the name of the file ready for listing
Dim NextRow As Long 'Store the row to write the filename to

On Error Resume Next

Let Application.ScreenUpdating = False

'Display the folder picker dialog box for user selection of directory
With Application.FileDialog(msoFileDialogFolderPicker)
    Let .Title = "Please select a folder"
    .Show
    Let .AllowMultiSelect = False
    If .SelectedItems.Count = 0 Then
        MsgBox "You did not select a folder"
        Exit Sub
    End If
    Let MyFolder = .SelectedItems(1) & "\"
End With

'Dir finds the first Excel workbook in the folder
Let FiletoList = Dir(MyFolder & "*.xls")
Let Range("A1").Value = "Filename"
Let Range("B1").Value = "Date Last Modified"
Let Range("A1:B1").Font.Bold = True

'Find the next empty row in the list
Let NextRow = Application.CountA(Range("A:A")) + 1

'Do whilst the dir function returns an Excel workbook
Do While FiletoList <> ""
    Let Cells(NextRow, 1).Value = FiletoList 'Write the filename into the next available cell
    Let Cells(NextRow, 2).Value = FileDateTime(MyFolder & FiletoList) 'Write the date the cell was last modified
    Let NextRow = NextRow + 1 'Move to next row
    Let FiletoList = Dir 'Dir returns the next Excel workbook in the folder
Loop

Let Application.ScreenUpdating = True

End Sub
















Tags: Excel, VBA, Files, Folder, list, Dir, filedatetime, xls, xlsm, xlsb, 







Inline image 1


VBA Access - Usando built-in enumerations nas suas procedures - Using built-in enumerations in your procedures


Às vezes temos tarefas recorrente que gostaríamos de simplificar e quando essas tarefas envolvem interações com o modelo de objetos do MS Access, nós certamente não queremos perder o recurso de intellisense embutido neste.

Você tem algum intellisense?

Freqüentemente abrimos os nossos formulários usando uma cláusula WHERE, e para nos certificarmos de abrí-los corretamente, sempre o fechamos antes de abrí-lo novamente.

Criamos um procedimento simples chamado OpenMyForm usando uma seqüência regular para a condição onde.


Public Sub OpenMyForm(FormName As String, WhereCondition As String)
  If CurrentProject.AllForms(FormName).IsLoaded Then
    DoCmd.Close acForm, FormName
  End If

  DoCmd.OpenForm FormName, WhereCondition:=WhereCondition
End Sub


Este código funcionou bem, mas suponha que deseje abrir o formulário de abertura no modo visualizar ou folha de dados. Poderíamos fazer isso adicionando um outro parâmetro:


Public Sub OpenMyForm( _
  FormName As String, _
  WhereCondition As String, _
  OpenAsDatasheet As Boolean)

  If CurrentProject.AllForms(FormName).IsLoaded Then
    DoCmd.Close acForm, FormName
  End If

  If OpenAsDatasheet Then
    DoCmd.OpenForm FormName, _
                   WhereCondition:=WhereCondition, _
                   View:=acFormDS
  Else
    DoCmd.OpenForm FormName, _
                   WhereCondition:=WhereCondition, _
                   View:=acNormal
  End If
End Sub


Não queremos continuar adicionando mais linhas de código, então modificamos o OpenMyForm para usar o modo nativo do Access AcFormView, AcFormOpenDataMode e AcWindowMode:


Public Sub OpenMyForm ( _
  FormName As Variant, _
  Optional View As AcFormView = acNormal, _
  Optional FilterName As Variant, _
  Optional WhereCondition As Variant, _
  Optional DataMode As AcFormOpenDataMode = acFormPropertySettings, _
  Optional WindowMode As AcWindowMode = acWindowNormal, _
  Optional OpenArgs As Variant)
  If CurrentProject.AllForms(FormName).
IsLoaded Then
    DoCmd.Close acForm, FormName
  End If
  DoCmd.OpenForm FormName, _
                 View, _
                 FilterName, _
                 WhereCondition, _
                 DataMode, _
                 WindowMode, _
                 OpenArgs
End Sub

Se você usar o navegador de objeto (F2) e olhar para cima DoCmd.OpenForm, notará que os parâmetros são exatamente iguais. Quando adicionar uma nova linha OpenMyForm, ainda receberá a mesma ajuda intellisense que teve com DoCmd.OpenForm originais.

Como os parâmetros são definidos usando os mesmos tipos de dados (perceba que as enumerações são uma forma de tipo de dados), nomeando os mesmos nomes, e têm os mesmos padrões, todas as variantes possíveis de DoCmd.OpenForm, omitem argumentos, use vírgulas para pular alguns argumentos opcionais, trabalhando com o novo OpenMyForm sem quaisquer alterações, além do fato de que nós temos a garantia de que a filtragem será a atual.

Para descobrir quais enumerações são built-in para o Access e o DAO, pressione F2 para abrir e olhando para o acesso e/ou bibliotecas DAO para ver como as enumerações são nomeadas. Se olhar para o intellisense, verá que ele mostra o tipo de dados, incluindo o nome de enumerações para que possa usá-lo e obtê-las de modo correto no seu próprio código . Claro que não está limitado a apenas acesso e / ou enumerações DAO.

Quais são os outros usos para as enumerações embutidas ? Deixe-me saber nos comentários!





Tags: VBA, Access, intellisense, procedure, built-in, 




Inline image 1


Séries - LinkedIn - Trabalhe o seu Perfil - 01 - Promova a sua empresa
























O propósito desta série de posts é, dentre outras coisas, fazê-lo tornar-se visível à maior comunidade de networking profissional no momento.

Siga estas dicas passo-a-passo e depois comente aqui o seu progresso, número de visitações ao seu perfil, etc...



1. Promova a sua empresa (Promoting your company)

A sua empresa pode ser encontrada no LinkedIn?

Crie um perfil da sua empresa para sua organização.

Quando as pessoas procurarem por sua empresa no LinkedIn ou nos motores de busca do perfil da sua organização você aparecerá também.

O perfil da sua empresa conterá os links para todos os colaboradores dela que tiverem perfis no LinkedIn. Ainda ajudará a aumentar a visibilidade dos seus 

Aproveite e use a descrição da sua empresa para comunicar o que é importante, efetuando um link para seu site principal. 

Além disso, use a seção de especialidade de forma eficaz e usar as palavras certas para as pessoas que não buscam a sua organização pode encontrá-lo.






Tags: LinkedIn, Networking, marketing, Research, Tips, Business, Professionals, profissional, perfil, profile, dicas, empresa






Inline image 1


VBA Tips - Especialidades Médicas



O que segue é uma função antiga que utilizei para retornar os nomes das Especialidades a partir das suas respectivas siglas.

A função cobre apenas algumas, com as respectivas siglas, mas como poderá observar abaixo, poderá implementar outras especialidades com o tempo:


Function ReturnESP (nESP As String) As String
    '     Author: André Bernardes - bernardess@gmail.com
    '       Date: 14/02/2011 - 15:45
    'Description: Retorna o nome das Especialidades Médicas a partir das siglas.
    
    If nESP = "PSQ" Then
        Let ReturnESP = "PSIQUIATRA"
    ElseIf nESP = "NEU" Then
        Let ReturnESP = "NEUROLOGISTA"
    ElseIf nESP = "CRD" Then
        Let ReturnESP = "CARDIOLOGISTA"
    ElseIf nESP = "CLG" Then
        Let ReturnESP = "CLINICO GERAL"
    ElseIf nESP = "END" Then
        Let ReturnESP = "ENDOCRINOLOGISTA"
    ElseIf nESP = "GER" Then
        Let ReturnESP = "GERIATRA"
    ElseIf nESP = "" Then
    ElseIf nESP = "" Then
    ElseIf nESP = "" Then
    ElseIf nESP = "" Then
    ElseIf nESP = "" Then
    ElseIf nESP = "" Then
    ElseIf nESP = "" Then
    ElseIf nESP = "" Then
    End If
End Function



Anatomia Patológica

Anestesiologia

Angiologia e Cirurgia Vascular

Cardiologia

Cardiologia Pediátrica

Cirurgia Cardio-Torácica

Cirurgia Geral

Cirurgia Maxilo-facial

Cirurgia Pediátrica

Cirurgia Plástica e Reconstrutiva e Estética

Dermato-venereologia

Doenças Infecciosas

Endocrinologia-Nutrição

Estomatologia

Farmacologia Clínica

Gastrenterologia

Genética Médica

Ginecologia-Obstetrícia

Hematologia Clínica

Imuno-alergologia

Imuno-hemoterapia

Medicina Desportiva

Medicina do trabalho

Medicina Física e de Reabilitação

Medicina Geral e Familiar

Medicina Interna

Medicina Legal

Medicina Nuclear

Medicina Tropical

Nefrologia

Neuro-Cirurgia

Neurologia

Neuro-Radiologia

Oftalmologia

Oncologia Médica

Ortopedia

Otorrinolaringologia

Patologia Clínica

Pediatria

Pneumologia

Psiquiatria

Psiquiatria da Infância e da Adolescência

Radiodiagnóstico

Radioterapia

Reumatologia

Saúde Pública

Urologia



Tags: VBA, function, funções, especialidade, especialidades, tips, 


Inline image 1

diHITT - Notícias