Nice tip... I will change this in my document...

I have no idea why this is written as it is, but many of the snippets were created years ago with OOo 1.x, so, the issue may be that the author of that particular macro (probably me) was not properly efficient, or, that OOo did not support the methodology. In this case, I suspect the first.

On 08/30/2009 08:54 AM, Johnny Rosenberg wrote:
At page 142 in the macro manual by A. Pitonyak, there is a section
about how to do it, here's a function that returns the last column of
the used area:

Function getLastUsedColumn(oSheet as Object) as Integer
   Dim oCell As Object
   Dim oCursor As Object
   Dim aAddress As Variant
   oCell = oSheet.GetCellbyPosition( 0, 0 )
   oCursor = oSheet.createCursorByRange(oCell)
   oCursor.GotoEndOfUsedArea(True)
   aAddress = oCursor.RangeAddress
   GetLastUsedColumn = aAddress.EndColumn
End Function

I am wondering about the oCell thing. Why is that necessary? I tried
the following and it seems to work:

Function getLastUsedColumn(oSheet as Object) as Integer
   Dim oCursor As Object
   Dim aAddress As Variant
   oCursor = oSheet.createCursor
   oCursor.GotoEndOfUsedArea(True)
   aAddress = oCursor.RangeAddress
   GetLastUsedColumn = aAddress.EndColumn
End Function

Or even shorter, and still works and just as easy to follow (in my opinion):

Function getLastUsedColumn(oSheet as Object) as Integer
   Dim oCursor As Object
   oCursor = oSheet.createCursor
   oCursor.GotoEndOfUsedArea(True)
   GetLastUsedColumn = oCursor.RangeAddress.EndColumn
End Function

Johnny Rosenberg

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


--
Andrew Pitonyak
My Macro Document: http://www.pitonyak.org/AndrewMacro.odt
My Book: http://www.hentzenwerke.com/catalog/oome.htm
Info:  http://www.pitonyak.org/oo.php
See Also: http://documentation.openoffice.org/HOW_TO/index.html


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to