ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel automation: connecting to Excel (https://www.excelbanter.com/excel-programming/397806-excel-automation-connecting-excel.html)

jack

Excel automation: connecting to Excel
 
Which one is better (safer) way to do:

1.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.ActiveWorkbook.ActiveSheet
End if

or

2.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.moExcelApp.Workbooks(1).Worksheets(1)
End if

Jack



Tim Williams

Excel automation: connecting to Excel
 
They appear to do different things...
The first gets a reference to the activesheet, the second (ignoring the
duplicate app reference) gets a reference to the first sheet of the first
workbook.

Can you provide some context around what you want to do?

Tim


"Jack" <replyto@it wrote in message
...
Which one is better (safer) way to do:

1.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.ActiveWorkbook.ActiveSheet
End if

or

2.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.moExcelApp.Workbooks(1).Worksheets(1)
End if

Jack




jack

Excel automation: connecting to Excel
 
Thank you.
I need to connect my app to any Excel spreadsheet, which currently is
opened.
In the case if there are several spreadsheets opened, it does not matter
which one will be used.
Jack

"Tim Williams" <timjwilliams at gmail dot com wrote in message
...
They appear to do different things...
The first gets a reference to the activesheet, the second (ignoring the
duplicate app reference) gets a reference to the first sheet of the first
workbook.

Can you provide some context around what you want to do?

Tim


"Jack" <replyto@it wrote in message
...
Which one is better (safer) way to do:

1.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.ActiveWorkbook.ActiveSheet
End if

or

2.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.moExcelApp.Workbooks(1).Worksheets(1)
End if

Jack






Dave Peterson

Excel automation: connecting to Excel
 
If there are open workbooks, but all are hidden (no active sheet), then won't
both have trouble.

set moexcelws = nothing
on error resume next
Set moExcelWS = moExcelApp.ActiveWorkbook.ActiveSheet
on error goto 0

if moexcelws is nothing then
'failed
else
'worked
end if



Jack wrote:

Which one is better (safer) way to do:

1.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.ActiveWorkbook.ActiveSheet
End if

or

2.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.moExcelApp.Workbooks(1).Worksheets(1)
End if

Jack


--

Dave Peterson

Tim Williams

Excel automation: connecting to Excel
 
Dave's post shows how.
Don't forget to check the typename of the sheet you get, in case it's a
chart and not a worksheet.

Tim


"Jack" <replyto@it wrote in message
...
Thank you.
I need to connect my app to any Excel spreadsheet, which currently is
opened.
In the case if there are several spreadsheets opened, it does not matter
which one will be used.
Jack

"Tim Williams" <timjwilliams at gmail dot com wrote in message
...
They appear to do different things...
The first gets a reference to the activesheet, the second (ignoring the
duplicate app reference) gets a reference to the first sheet of the first
workbook.

Can you provide some context around what you want to do?

Tim


"Jack" <replyto@it wrote in message
...
Which one is better (safer) way to do:

1.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.ActiveWorkbook.ActiveSheet
End if

or

2.
If moExcelApp.Workbooks.Count 0 Then 'when any sheet is opened
Set moExcelWS = moExcelApp.moExcelApp.Workbooks(1).Worksheets(1)
End if

Jack









All times are GMT +1. The time now is 05:22 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com