YUKIBEのBLOG

日常のメモ書き

Excel:VBA:ブック:開いているブック

aTEST_開いているブック

Sub aTEST_開いているブック()

  Dim vFE

  Dim lstWbName As Collection:  Set lstWbName = New Collection
  Set lstWbName = getWbOpenedName_lst
  For Each vFE In lstWbName
    Debug.Print vFE
  Next vFE

  Dim dicWbName As Dictionary:  Set dicWbName = New Dictionary
  Set dicWbName = getWbOpenedName_dic
  For Each vFE In dicWbName
    Debug.Print vFE
  Next vFE

  Dim vArr As Variant
  vArr = getWbOpenedName_vArr
  For Each vFE In vArr
    Debug.Print vFE
  Next vFE

  Dim sArr() As String
  sArr = getWbOpenedName_sArr
  For Each vFE In sArr
    Debug.Print vFE
  Next vFE

End Sub

開いているブックリスト_Collection

'*****************************************************************
'* 開いているブックリスト
'*
'* ARG01
'* ARG02
'*
'* 戻り値
'*
'* NOTE
'*
'*****************************************************************
Public Function getWbOpenedName_lst() As Collection

  Dim colc As Collection
  Set colc = New Collection
  
  Dim wb As Workbook
  For Each wb In Workbooks
    colc.Add wb.Name
  Next wb
  
  Set getWbOpenedName_lst = colc

End Function

開いているブックリスト_dictionary

'*****************************************************************
'* 開いているブックリスト
'*
'* ARG01
'* ARG02
'*
'* 戻り値
'*
'* NOTE
'*
'*****************************************************************
Public Function getWbOpenedName_dic() As Dictionary

  Dim dic As Dictionary
  Set dic = New Dictionary
  
  Dim wb As Workbook
  For Each wb In Workbooks
    dic.Add wb.Name, ""
  Next wb
  
  Set getWbOpenedName_dic = dic

End Function

開いているブックリスト_Array Variant


'*****************************************************************
'* 開いているブックリスト
'*
'* ARG01
'* ARG02
'*
'* 戻り値
'*
'* NOTE
'*
'*****************************************************************
Public Function getWbOpenedName_vArr() As Variant

  Dim i As Long
  Dim vArr
    
  Dim wb As Workbook
  For Each wb In Workbooks
    If i = 0 Then
      ReDim vArr(i)
    Else
      ReDim Preserve vArr(i)
    End If
    vArr(i) = wb.Name
    i = i + 1
  Next wb
  
  getWbOpenedName_vArr = vArr

End Function

開いているブックリスト_Array String

'*****************************************************************
'* 開いているブックリスト
'*
'* ARG01
'* ARG02
'*
'* 戻り値
'*
'* NOTE
'*
'*****************************************************************
Public Function getWbOpenedName_sArr() As String()

  Dim i As Long
  Dim sArr() As String
  ReDim sArr(Workbooks.Count - 1) As String
    
  Dim wb As Workbook
  For Each wb In Workbooks
    sArr(i) = wb.Name
    i = i + 1
  Next wb
  
  getWbOpenedName_sArr = sArr

End Function