Hi Scott,
 
I'll take a shot at your questions, but I'll try and separate them into
different threads, so not all of the answers will be in this one email (just
in case we start a longer discussion, emails with lots of questions can
easily become confusing).
 
* First, just wanted to mention that GW does have an MS Access app which
improves Access usability, but I'm not sure if it's for 2010 or not.  Also,
they have an app named window manager, which can be used to automatically
maximize a window, given it's title (or it's class if the title changes).
Still, I know you could be doing this just for your own practice and
education.
 
* I need to clarify a point: the class name of a window object, isn't
related to a class of object which you might find in some program's object
model, or which you might create with the createObject command.  So, what
strings you find in the window-eyes window object's className property, are
whatever the programmer decided to call his window as he wrote his program.
So, if you use the analysis tools and you find a window with a class name of
"oTable"; then that is the name of the class for that window which you can
work with inside of window-eyes.  This usually has no relation to say, any
object inside the Access object model, and it's only purpose would be to
help you identify which window you are working with.
 
While you could possibly maximize the window using the Access object model,
it's much more likely you'll be able to do it using window-eyes scripting
commands, and a whole lot easier.  The usual way is to watch for the window
you're interested in to be created, and work with it directly as soon as it
is created.  You'd use some commands like:
 
gDeskTopOnChildCreateEventConnection = connectEvent ( desktopWindow ,
"onChildCreate", "DeskTopOnChildCreateEventHandler")
sub DeskTopOnChildCreateEventHandler(ReturnedWindowObject)
' here you'd test to see if this was the right window and then maximize it
end sub
 
to watch for it being created.  The only time you would get involved with
the Access object model might be if you could not do something any other
way.  I had a quick look at the Access 2010 object model, and I didn't see
any window object for the current active window; but even if they do have
one, it would be a lot more trouble to make use of.
 
hth,
 
Chip
 


  _____  

From: Scott, Ken [mailto:[email protected]] 
Sent: Wednesday, October 05, 2011 1:10 PM
To: '[email protected]'
Subject: Three Issues/Questions for Scripting Window-Eyes with Microsoft
Access 2010 Database Program



Hi gw-scripting list members,

 

I am attempting to improve the usability of the Microsoft Access 2010
database program with Window-Eyes.  I am not a programmer of any kind let
alone an object oriented one.  I have done some analysis of the Access 2010
and Window-Eyes combination.  I also listened to all of the podcasts and
read all of the documentation that I thought applied to what I am trying to
do.  I am left with three issues/questions.

 

One thing that I am trying to do is to automatically maximized the Access
2010 windows.  The problem is that I am getting two object.classnames for
what appear to be the same object depending on what analytical tool or
approach that I use.  If I use, Gw Micro's Window Manager to check on
classnames for objects, I get one result.  If I use the Object Browser in
Chip Orange's Microsoft Word based development environment, I get another
Classname.  For example, in Window Manager there is a OTable classname,
whereas, in the Object Browser, there is a table classname.  Can anyone
suggest which version of the object classname that I should try first when
scripting to maximize the windows?

 

The second problem that I am having is determining the syntax to load set
files based on off screen events.  I plan to use the presence of Access
window objects plus view button status to load set files.  My first issue.
What is the property/method to load a specified set file?  I did write GW
Micro Support asking about this situation.  I was told about the
window.loadset object.  Unfortunately when I check the Window-Eyes developer
reference, this object appears to tell if a set file is loaded and not to
load a set file.  Second, what is the syntax for using an accessible string
as part of an operation.  I can find a long string that gives the name of a
view button and its pressed verses unpressed status in my analysis.  I do
not know how to write this into an operation.  My tentative idea for a
syntax is something like:

If window.classname = OTable and Datasheet view status = pressed then
loadset.TableDatasheetView.

If anyone can suggest how precisely the above hypothetical operation should
be written I will be forever in your debt.

 

The third area of trouble is in reclassing a custom control.  If I
understood the Window-Eyes developer reference correctly, I need to use the
type object to reclass the object.  I will need to first use the retrieve
property to place the custom control into my script.  I then need to use the
set property plus the type to reclass the custom control.  If the custom
control is okttbx and need to be reclassed to an editbox, what would these
operations look like?  

 

If I have confused you, please send me any follow up questions that you
have.

 

Regards,

Ken Scott

 

 

 

 

Reply via email to