3: Referenciando workbooks na coleção (collection) Workbooks
As coleções Workbooks contém todos os objetos Workbook abertos. Usando a propriedade Workbooks, você pode referenciar-se a quaisquer workbooks abertos. Para instanciá-lo, a seguinte SUB populará um listbox num formulário do usuário com os nomes de todos os workbooks abertos:Private Sub UserForm_Activate()
'Popula o listbox com os nomes dos workbooks abertos.
Dim wb As Workbook
For Each wb In Workbooks
ListBox1.AddItem wb.Name
Next wb
End Sub
O FORM resultante é mostrado na Figura C, lista todos os workbooks abertos. Ao utilizar a referência a coleção Workbooks, você pode referenciar todos os workbooks abertos sem "hard-coding", simplesmente o nome do workbook.Figura C
Para listar todos os workbooks abertos é uma tarefa fácil; agradeça isso a existência da Workbooks collection. Todavia abrir todos os workbooks numa pasta específica é uma tarefa dura, mas você poderá se beneficiar desta SUB:
Sub OpenAllWB() 'Abre todos os workbooks numa pasta específica. Dim i As Integer With Application.FileSearch Let .LookIn = "C:\A&A" Let .FileType = msoFileTypeExcelWorkbooks ' Se houver workbooks. If .Execute > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(i)) Next i ' Caso não hajam workbooks Else MsgBox "Não existem workbooks para acessar.", vbOKOnly End If End With End SubEsta tarefa mostra o que pode ser feito com a coleção Workbooks. Neste caso o código não circula através da coleção Workbooks; tenta tirar vantagem de um dos métodos da coleção (colection) — especificamente, o método Open (abrir).
Fechar todos os workbooks abertos é tão fácil como o foi abrí-lo, aplique a SUB abaixo:
Sub CloseAllWB()
'Fecha todos workbooks abertos.
Workbooks.Close
End Sub
Para visualizar mais métodos e propriedades de collection, pressione F2 no VBE e navegue no Object Browser.
André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com
Nenhum comentário:
Postar um comentário