ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Spreadsheet opened by user or programme (https://www.excelbanter.com/excel-programming/281128-spreadsheet-opened-user-programme.html)

Jenni[_2_]

Spreadsheet opened by user or programme
 
Hi, what I'm, wanting to know is if there is a way of knowing if a
spreadsheet was opened by a user clicking on the file name, or if it
was opened by another programme.

something like this:

Private Sub form_activate

If "form was opened by user" then
'do stuff
Else
'form was opened by onother programme - Access in this case
'do other stuff
End if

End Sub

Thanks in advance
Jenni

PeterS

Spreadsheet opened by user or programme
 
Try to use:

Whofrom = Application.Caller
If WhoFrom="xxx" then

Else

End If
--
PeterS

"Jenni" wrote:
Hi, what I'm, wanting to know is if there is a way of knowing if a
spreadsheet was opened by a user clicking on the file name, or if it
was opened by another programme.

something like this:

Private Sub form_activate

If "form was opened by user" then
'do stuff
Else
'form was opened by onother programme - Access in this case
'do other stuff
End if

End Sub

Thanks in advance
Jenni



---
Peter's mail has been inoculated against Virusses.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 22-10-2003

Tom Ogilvy

Spreadsheet opened by user or programme
 
From help on Application.UserControl

True if the application is visible or if it was created or started by the
user. False if you created or started the application programmatically by
using the CreateObject or GetObject functions, and the application is
hidden. Read/write Boolean.

--
Regards,
Tom Ogilvy

"Jenni" wrote in message
m...
Hi, what I'm, wanting to know is if there is a way of knowing if a
spreadsheet was opened by a user clicking on the file name, or if it
was opened by another programme.

something like this:

Private Sub form_activate

If "form was opened by user" then
'do stuff
Else
'form was opened by onother programme - Access in this case
'do other stuff
End if

End Sub

Thanks in advance
Jenni




Tom Ogilvy

Spreadsheet opened by user or programme
 
application.caller doesn't provide the information you describe or what was
suggested by PeterS to the best of my knowledge.

As I suggested, look at Application.UserControl

--
Regards,
Tom Ogilvy

"Jenni" wrote in message
...
I tried

Select Case TypeName(Application.Caller)
Case "Range"
V = Application.Caller.Address
Case "String"
V = Application.Caller
Case "Error"
V = "Error"
Case Else
V = "unknown"
End Select

MsgBox "caller = " & V

And I get Error irrespective of whether it is called by Access or by me
double clicking on the icon. I also tried to trap the error to get an
error number to use for differentiation, but no luck, it does not give
an error, it just opens.

Any other ideas??

Jenni

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!




Jenni[_3_]

Spreadsheet opened by user or programme
 
Hi,

Application.UserControl gives a value of True irrespective of whether I
start Excel through Access or by double clicking the icon. Perhaps it
makes a difference that I have opened excel using the Shell command from
Access? Here is the code:

retVal = Shell(GetExeFileSpec("Excel.Application") & Space$(1) &
filePath, vbNormalFocus)

and this in the Public Function that passes the value to the shell
command

Case "EXCEL":
Set appObj = CreateObject(strEXEHostClass)
strPath = appObj.Path & "\"
strFileName = "EXCEL.EXE"
strPrompt = "Microsoft Excel"

So it does use the CreateObject function, and the file is hidden. What
am I missing here? Thanks for the help, as I said I am new at this.

Jenni

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!


All times are GMT +1. The time now is 11:19 AM.

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