PDA

View Full Version : Dim Array() As Workbook??



Saladsamurai
12-11-2009, 08:44 AM
I originally Dimmed the array WorkBookNames() as Variant. Now it is biting me in the a$$.

I wish to Activate WorkBookNames(0) :

Sub RunMixedMetrics()


Dim MyPath As String
Dim WorkBookNames() As Variant

MyPath = ActiveWorkbook.Path
'Debug.Print MyPath
WorkBookNames = Array("20LW6_TEST_redo.xls")
Workbooks.Open Filename:=MyPath & "\" & WorkBookNames(0)

WorkBookNames(0).Activate 'THIS LINE FAILS


'Workbooks(WorkBookNames(0)).Save
'Workbooks(WorkBookNames(0)).Close
End Sub


I tried


Sub RunMixedMetrics()


Dim MyPath As String
Dim WorkBookNames() As Variant
Dim CurrentWorkBook As WorkBook

MyPath = ActiveWorkbook.Path
'Debug.Print MyPath
WorkBookNames = Array("20LW6_TEST_redo.xls")
Workbooks.Open Filename:=MyPath & "\" & WorkBookNames(0)

Set CurrentWorkBook = WorkBookNames(0) 'NOW THIS LINE FAILS
CurrentWorkBook.Activate


'Workbooks(WorkBookNames(0)).Save
'Workbooks(WorkBookNames(0)).Close
End Sub

Bob Phillips
12-11-2009, 08:48 AM
WorkbookNames is an array of string, not an array of workbooks.

Use



Sub RunMixedMetrics()


Dim MyPath As String
Dim WorkBookNames() As Variant

MyPath = ActiveWorkbook.Path
'Debug.Print MyPath
WorkBookNames = Array("20LW6_TEST_redo.xls")
Workbooks.Open Filename:=MyPath & "\" & WorkBookNames(0)

Workbooks(WorkBookNames(0)).Activate 'THIS LINE FAILS


'Workbooks(WorkBookNames(0)).Save
'Workbooks(WorkBookNames(0)).Close
End Sub

Saladsamurai
12-11-2009, 08:58 AM
WorkbookNames is an array of string, not an array of workbooks.

Use



Sub RunMixedMetrics()


Dim MyPath As String
Dim WorkBookNames() As Variant

MyPath = ActiveWorkbook.Path
'Debug.Print MyPath
WorkBookNames = Array("20LW6_TEST_redo.xls")
Workbooks.Open Filename:=MyPath & "\" & WorkBookNames(0)

Workbooks(WorkBookNames(0)).Activate 'THIS LINE FAILS


'Workbooks(WorkBookNames(0)).Save
'Workbooks(WorkBookNames(0)).Close
End Sub


Gracias!