Get right Excel application

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi !
In Excel, when 2 differents Excel.Application, there's an error with these
lines.
Set oExcel = GetObject(, "Excel.Application")
Set oWb = oExcel.ThisWorkbook 'ERROR 1004..
Set oXlRng = oWb.Sheets(T(iTab).SheetName).Range("TableOutput")
I'm wondering if I could just say:
Set oXlRng = ThisWorkbook.Sheets(T(iTab).SheetName).Range("TableOutput")
and defined oXlRng as a Range. Should I declare Excel.Range if the word
library are open into Excel?
Thanks!
Alex
 
Set oWb = oExcel.ThisWorkbook 'ERROR 1004

I think you want:

Set oWb = oExcel.ActiveWorkbook

--
Jim
| Hi !
| In Excel, when 2 differents Excel.Application, there's an error with these
| lines.
| Set oExcel = GetObject(, "Excel.Application")
| Set oWb = oExcel.ThisWorkbook 'ERROR 1004..
| Set oXlRng = oWb.Sheets(T(iTab).SheetName).Range("TableOutput")
| I'm wondering if I could just say:
| Set oXlRng =
ThisWorkbook.Sheets(T(iTab).SheetName).Range("TableOutput")
| and defined oXlRng as a Range. Should I declare Excel.Range if the word
| library are open into Excel?
| Thanks!
| Alex
|
| --
| Alex St-Pierre
 
Thisworkbook would only be applicable if the code is being run from the
workbook you want to refer to.

T(iTab).SheetName

seems a bit strange. What is T. At least through Excel 2003, I don't
believe there is any object that has a sheetname property.
 
Hi Tom
T is a custom variable as decribe below. I load all the information in T
vector when the macro start. So, I can refer it at any time. "Thisworkbook"
is correct since the macro code is always inside the right excel file. I'm
wondering if I need to use object programation. I have modify the program to
say:
Dim oXlRng As Range
Set oXlRng = ThisWorkbook.Sheets(T(iTab).SheetName).Range("TableOutput")
... (program) oXlRng.Copy, oXlRng.Cells(1,2) = ..., etc.
Set oXlRng = Nothing

T is defined as:
Public Type TableType
Count As Integer 'For i = 1 to T(1).Count
Type As String 'Short Name
CodeName As String 'Long Name
SheetName As String
StandardSheetName As String
StandardTitle1 As String
Title1 As String
Title2 As String
Exist As Boolean
Link As Boolean 'Used inside report
Export As Boolean 'Checked item
End Type

Public T(14) As TableType
 
Back
Top