Permitir ao usuário selecionar qual janela aberta a macro deve refinar

2

Posso ter uma macro em execução solicitando que o usuário selecione um dos documentos abertos do Excel?

Eu tenho uma macro que é bastante direta e apenas abre vários documentos e cola valores de alguns pontos para outros pontos e salva alguns, fecha outros sem salvar, etc.

Um dos documentos de que a macro precisa extrair números, no entanto, é enviado por e-mail para mim. Eu posso contar com o formato do arquivo para ser o mesmo, o nome é diferente a cada vez.

Gostaria de poder simplesmente abrir a planilha do Excel enviada por e-mail juntamente com o meu programa de macros e, quando chegar a hora da macro extrair informações do documento excel enviado por e-mail, apenas perguntar qual das documentos é o caminho certo para usar.

Eu encontrei Application.GetOpenFilename , que é semelhante ao que eu quero, mas permite que você selecione um local salvo. Normalmente meu arquivo não é salvo em nenhum lugar (pelo menos em nenhum lugar em particular, tenho certeza que está em algum lugar no espaço temporário) e seria mais fácil simplesmente abrir o arquivo diretamente do email e fazer com que a macro perguntasse qual arquivo aberto é o caminho certo para usar. Isso é possível?

    
por Jarvin 07.03.2017 / 23:26

1 resposta

1

Você pode criar um formulário de usuário com um ComboBox preenchido com as pastas de trabalho abertas e WorkSheets. Visualize as escolhas e selecione uma.

Sub ViewListOfOpenWorkBooksAndWorkSheets()
Dim book As Workbook, sheet As Worksheet
 For Each book In Workbooks
  For Each sheet In book.Worksheets
   UserForm1.ComboBox1.AddItem book.Name + "!" + sheet.Name
  Next sheet
 Next book
UserForm1.Show
End Sub
    
por 08.03.2017 / 01:32