[jawsscripts] Re: An Excel script

  • From: "Martin Slack" <m.g.slack@xxxxxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Fri, 11 Sep 2009 20:29:56 +0100

Hi Marlon,

  Your point 1- below is answered by my email below sent on 10 September. 
The code I gave showed only one line of the form:

SayString (StringSegment (sLine, "|", 20))

  because in your original posting, you said you wanted to read the contents 
of column t.  But you can have as many SayString statements as you like, 
because the string sLine contains the contents of all the cells in the 
current row.  To speak the cells from the current row in columns a, f, m and 
t simply use four lines of code:

SayString (StringSegment (sLine, "|", 1))
SayString (StringSegment (sLine, "|", 6))
SayString (StringSegment (sLine, "|", 13))
SayString (StringSegment (sLine, "|", 20))

  If you want to follow a different route, as outlined in your point 2- 
below, you can use GetCellCoordinates to find the number of the column 
containing the current cell, and use that as an index into the StringSegment 
function to return the appropriate letter from a delimited string formed 
thus:

let sExtendedAlphabet = "a|b|c|d|e|f|g| ... |uuu|vvv|www|xxx|yyy|zzz"

  where I am using the vertical bar character as the delimiter and only 
including three alphabet's worth of columns (= 78 columns).  Extend the 
string further if you need to access more columns.

  hth

Martin


----- Original Message ----- 
From: "Marlon Brandão de Sousa" <splyt.lists@xxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Friday, September 11, 2009 6:31 PM
Subject: [jawsscripts] Re: An Excel script


> Hello,
> 1- The getRowTotals and such will work for one collumn only. I want to
> set up to six collumns that will be read accordingly to the end number
> of the keystroke pressed.
> 2- I found that the getSelectionCoordinates() function will return me
> a coordinate like b5 for example. I now need to get only the letters
> of the string whichj will be the current collumn. Any suggestion as
> how I can achieve this (like getting the "a62" string and end with the
> "a" character only?
> I cant simply get the first character because a collumn may have two
> letters size like "ab75".
> I just need to separate letters from numbers in a string.
> Marlon
>
> 2009/9/11, Martin Slack <m.g.slack@xxxxxxxxxxxx>:
>> GetCellCoordinates will return both the row and column as integers.  See 
>> my
>> replies to Reed for a method of converting column coordinates to the
>> appropriate letters.
>>
>>   Martin
>>
>>
>> ----- Original Message -----
>> From: "Marlon Brandão de Sousa" <splyt.lists@xxxxxxxxx>
>> To: <jawsscripts@xxxxxxxxxxxxx>
>> Sent: Friday, September 11, 2009 2:17 PM
>> Subject: [jawsscripts] Re: An Excel script
>>
>>
>>> Hello,
>>> I will try it. BTW, there is a function called sayCell which takes a
>>> string as parameter and that will say the cell contents. The problem
>>> is, this parameter must be something like "a35" ... I just need to
>>> know a way of getting the collumn one is placed into to set the
>>> monitor thing.
>>> Any other suggestion as how to get the current collumn letter when
>>> pressing a keystroke?
>>> Marlon
>>>
>>> 2009/9/10, Martin Slack <m.g.slack@xxxxxxxxxxxx>:
>>>> Marlon,
>>>>
>>>>   The JAWS function GetRowText can be called to produce a delimited
>>>> string
>>>> of all the text in the active row of the table.  You can then specify
>>>> which
>>>> cell's contents to speak using the StringSegment function as below:
>>>>
>>>> Script testExcel ()
>>>> Var string sLine
>>>>
>>>> let sLine = GetRowText ("|", "c%1r%2", "nothing found", 1, 26)
>>>> ;let sLine = GetRowText ("|", "", "nothing found")
>>>> SayString (StringSegment (sLine, "|", 20))
>>>>
>>>> EndScript
>>>>
>>>>
>>>>   You can use either form of the GetRowText function above, either
>>>> specifying everything (include each cell's coordinates in the string as
>>>> well
>>>> as how much of the row to read), or accept the default options of no
>>>> coordinates and read the whole row.
>>>>
>>>>   If you need to specify the column by letter, you could compare your
>>>> letter
>>>> with a string of characters, say "a|b|c| ... |zz" using
>>>> StringSegmentIndex
>>>> until you found the match and then enter that number in the above code.
>>>>
>>>>   hth
>>>>
>>>> Martin
>>>>
>>>>
>>>> ----- Original Message -----
>>>> From: "Marlon Brandão de Sousa" <splyt.lists@xxxxxxxxx>
>>>> To: <jawsscripts@xxxxxxxxxxxxx>
>>>> Sent: Thursday, September 10, 2009 9:46 PM
>>>> Subject: [jawsscripts] Re: An Excel script
>>>>
>>>>
>>>>> That's also what I would like to know.
>>>>> I want to implement a kind of monitor cell that is relative to the
>>>>> line one currently is placed, so that if they are whatching for
>>>>> collumn t for example they can be anywhere in line 2 and pressing a
>>>>> keystroke the t2 cell would be read and if they are in anywhere in
>>>>> line 135 and press the same command the t135 cell will be read and so
>>>>> on.
>>>>> I can code a function like numberToLetter and use it, but cinse JAWS
>>>>> can say the coordinates of a given cell then I also can use this
>>>>> information in my scripts. We just need to figure out or be helped as
>>>>> to how to get this information.
>>>>> Marlon
>>>>>
>>>>> 2009/9/10, Reed Poynter <reed.poynter@xxxxxxxxx>:
>>>>>> Hi Scripters,
>>>>>>
>>>>>> In Ms Excel 2003, there is a Go To dialog where you can select blocks
>>>>>> of
>>>>>> data based on a top left and a bottom right cell.
>>>>>> For example, in a spreadsheet, you hit F5 and specify A1:G6 and hit
>>>>>> enter.
>>>>>> The block of data is selected.
>>>>>>
>>>>>> I want to be able to do the following.
>>>>>> Go to the top left cell and hit a key to save its coordinates, go to
>>>>>> the
>>>>>> bottom right cell, hit a second key to save its coordinates, put the 
>>>>>> 2
>>>>>> saved
>>>>>> coordinates together in a string and put it into the go to dialog.
>>>>>>
>>>>>> I don't know of anything in Excel that will do this for me.  So, I
>>>>>> thought
>>>>>> I'd write a JFW script to do it.
>>>>>>
>>>>>> I think my process would be to, with a hot key, save the coordinates 
>>>>>> of
>>>>>> the
>>>>>> top left cell to the clipboard,
>>>>>> With a second hot key, capture the bottom cell coordinates, and put
>>>>>> them
>>>>>> together into a string with the first coordinates once retrieved from
>>>>>> the
>>>>>> clipboard.
>>>>>> Save this new string to the clipboard,
>>>>>> Open Excel's Go To dialog and paste in my coordinates.
>>>>>>
>>>>>> My first problem is having the script determine the cell coordinates.
>>>>>> Looking through the functions in the Script Manager, the only guy I 
>>>>>> see
>>>>>> is
>>>>>> GetCellCoordinates.
>>>>>> If I am sitting on cell A5,  GetCellCoordinates (x, y) returns 
>>>>>> integers
>>>>>>
>>>>>> 1
>>>>>> and 5.
>>>>>> I need something that will give me a5.
>>>>>> Any suggestions?
>>>>>>
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> Reed
>>>>>>
>>>>>>
>>>>>> __________
>>>>>> Visit and contribute to The JAWS Script Repository
>>>>>> http://jawsscripts.com
>>>>>>
>>>>>> View the list's information and change your settings at
>>>>>> //www.freelists.org/list/jawsscripts
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> When you say "I wrote a program that crashed Windows," people just
>>>>> stare at you blankly and say "Hey, I got those with the system, for
>>>>> free."
>>>>> Linus Torvalds
>>>>> __________
>>>>> Visit and contribute to The JAWS Script Repository
>>>>> http://jawsscripts.com
>>>>>
>>>>> View the list's information and change your settings at
>>>>> //www.freelists.org/list/jawsscripts
>>>>>
>>>>
>>>>
>>>> --------------------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>> No virus found in this incoming message.
>>>> Checked by AVG - www.avg.com
>>>> Version: 8.5.409 / Virus Database: 270.13.89/2360 - Release Date:
>>>> 09/10/09
>>>> 11:29:00
>>>>
>>>> __________
>>>> Visit and contribute to The JAWS Script Repository 
>>>> http://jawsscripts.com
>>>>
>>>> View the list's information and change your settings at
>>>> //www.freelists.org/list/jawsscripts
>>>>
>>>>
>>>
>>>
>>> --
>>> When you say "I wrote a program that crashed Windows," people just
>>> stare at you blankly and say "Hey, I got those with the system, for
>>> free."
>>> Linus Torvalds
>>> __________
>>> Visit and contribute to The JAWS Script Repository 
>>> http://jawsscripts.com
>>>
>>> View the list's information and change your settings at
>>> //www.freelists.org/list/jawsscripts
>>>
>>
>>
>> --------------------------------------------------------------------------------
>>
>>
>>
>> No virus found in this incoming message.
>> Checked by AVG - www.avg.com
>> Version: 8.5.409 / Virus Database: 270.13.91/2363 - Release Date: 
>> 09/11/09
>> 09:15:00
>>
>> __________
>> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>>
>> View the list's information and change your settings at
>> //www.freelists.org/list/jawsscripts
>>
>>
>
>
> -- 
> When you say "I wrote a program that crashed Windows," people just
> stare at you blankly and say "Hey, I got those with the system, for
> free."
> Linus Torvalds
> __________
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> //www.freelists.org/list/jawsscripts
>


--------------------------------------------------------------------------------



No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.409 / Virus Database: 270.13.91/2363 - Release Date: 09/11/09 
09:15:00

__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: