Get right Excel application

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
 
J

Jim Rech

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
 
G

Guest

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.
 
G

Guest

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top