do VarType have names, of so where found

If oRange is a collection of SheetCellRanges as described by JuhnSUN here:
link text
then VarType(oRange) = 8201.

I really don’t care for putting raw numbers like this in my code if there is an option.

Hopefully there is an Enum of names for VarTypes, where might that be found?

Thanks, Mike

I cannot confirm the value you mentioned in the question. For me any object type returns 9 with th Basic function VarType.
Anyway: What would you use the information for?
If you need to (say) distinguish the two fundamentally different object types you may get for a collection of cells in a spreadsheet as the CurrentSelection, you need to find what services the thing will support.
The Boolean result of myObject.supportsService("com.sun.star.sheet.SheetCellRanges") can provide the relevant information.
Again, if a CurrentSelection is to be handled:

doc = ThisComponent
cSel = doc.CurrentSelection
If cSel.supportsService("com.sun.star.sheet.SheetCellRanges") Then
  rgs = cSel
Else
  rgs = doc.createInstance("com.sun.star.sheet.SheetCellRanges")
  rgs.addRangeAddress(cSel.RangeAddress,  False)
End If  

Will allow you to treat all the occurring cases in the same way.

BTW: True objects have a string-property .ImplementationName.
However, the stability of this name is not guaranteed.

Hi Lupp,
   In my post above I state why I want names/labels for VarTypes and don't know how to be any clearer.

   The link in that post will show you how to create an object that is an array of ranges where each cell can be individually addressed.
Explore it and you'll see that it's an object array TypeName=Object(), VarType = 8201. 
It's an array of SheetCellRange objects which can be accessed through an index as
cellRanges(0).

Your rgs object is TypeName=Object, VarType = 9
While rgs.getRowDescriptions() reports all the rows in disjoint ranges,
rgs.getColumnDescriptions() only reports the first range.

How can the object you demonstrated be created in basic and 
how may the individual cells be accessed, again in basic?

Thanks,
Mike

Why did you post all the comment as preformatted text?
This made it difficult for me to read and understand it.
__
The variable created the (rarely used) way JohnSUN suggested in the linked thread is shown in the Basic IDE like an “array of object”, and the elements are accessible by their indices.
However that’s a special kind of array called a sequence in the API nomenclature. All sequences, independent of their element type should have the same VarType 8201.
(I may have been on error because the object name you used was in singular.)
Since a sequence neither is a service nor an interface nor an object supporting services, it has no ImplementationName. True objects have as I already stated.
I also don’t know in what way and place the numeric VarType 8201 is specified for sequences.
See also LibreOffice: com::sun::star::uno Module Reference.

I used preformatted because it makes it easier for me to read and understand. Since you seem to be my best source of information I’ll quit doing that.

Every place in the docs I’ve found so far, looking for a definition of ‘sequence’ uses sequence in it’s description. Can you point me to a definition of sequence as used by LO/UNO?

Thanks for the pointer to data types, I must admit finding it puzzling that array is deprecated as every programming language I’ve used has them.

Using your code above I can create a CellRange of disconnected ranges but have yet to see how to do the same in basic nor have I figured out how to access the individual cells therein.

Where should I look for such info?

Thanks,
Mike

Every(?) programming language has arrays, and so has LO Basic. All the programming languages I know support multidimensional arrays. UNO hasn’t an array concept of this kind. Of course the sequences are arrays in a more general sense, but (1) they aren’t named this way and (2) they cannot be mutidimensional.
The API also uses “array” in special contexts as a part of property names: DataArray, FormulaArray mainly, but despite the fact that they represent 2-dimensional entities, they are sequences again. A DataArray is a sequence of rows where the rows are sequences of elements - and must be of same length.
I don’t know the background of this design decision (with its sometimes annoying effects), but need to accept it as a fact.
Back to the OQ: I didn’t know the method JohnSUN hinted to - and I didn’t need it. My means to handle collections of SheetCellRange objects always was a SheetCellRanges object with its services and interfaces. Worked well! Was superior, imo.

Using your code above I can create a CellRange{s object; plural!} of disconnected ranges but have yet to see how to do the same in basic{That was Basic!} nor have I figured out how to access the individual cells therein.

Basic is only one (a primitve one) of the languages for which bridges to the LO API exist.
Basic itself hasn’t any of the types, tools, subroutines of the API. It has an easy way to access and use that all.
Access to individual cells always needs to start with an object supporting the com.sun.star.sheet.SheetCellRange service. Whether you got that object as an element of a sequence or of an array or of any different kind of container doesn’t matter.
The SheetCellRanges container gives access to its elements as well by indices as by “name”, as by enumeration - and the RangeAddress strucures are directly accessible via a sequence again. What should we want more?
Finally: The CurrentSelection of a spreadsheet document is often of that type.

Pardon me, you say “That was basic” but the first part of it was done with a mouse not in basic.
JohnSUN was the only response I got for how to make a CellRanges from 2 CellRange objects.

The object I get from using your suggestion responds to rgs.getRowDescriptions() properly but falls short on rgs.getColumnDescriptions() for a selection of A1:B2, C3:D4
only reporting Column A. It doesn’t respond to rgs.getColumns() or rgs.Columns giving
‘Property or method not found’ and UBound(rgs) likewise gives an error.

I know how to access each cell in an array created with ThisComponent.CurrentController.ActiveSheet.getCellRangeByPosition( 2, 4, 2, 6 )
as well as that made using JohnSUN’s algorythm but still haven’t found a way to do the same with the object you described.

I’ve no doubt that you know how to do this, would you care to share a couple of lines of code demonstrating how to access the cells in the object you demonstrated above? Likewise how to create such in basic?
Thanks,
Mike

JohnSUN was the only response I got for how to make a CellRanges from 2 CellRange objects.

What you got wasn’t a SheetCellRanges object, but a sequence of two SheetCellRange objects. No services, no interfaces available. Rarely used!
rgs.addRangeAddress(cSel.RangeAddress, False) works indepedent of how you got or created the SheetCellRanges object rgs. rgs = doc.createInstance("com.sun.star.sheet.SheetCellRanges") returns such a container with 0 (zero) elements, a CurrentSelection taken from a spreadsheet document contains a few ranges (if more than one range was selected). The example I gave was applicaple without adaptions “…if a CurrentSelection is to be handled…”
The statement rgs.addRangeAddress(myRange.RangeAddress, False),works independent of the origin of rgs and of the way you got or created the range (here myRange) to be added. This may have been (e.g.) myRange = ThisComponent.Sheets(0).getCellRangeByName("K5:P9").
(To be cont.inued.)

(Continuing:)
@JohnSUN is one of the users “in the know”, and the quoted suggestion from a comment (not an answer) was one of his very few misleading posts, if not the only one.
Anyway: To get a fully functional collection of cell ranges in a spreadsheet document, you need a SheetCellRanges object.
One of the fundamental differences between the object and the sequence lies in the second parameter of the addRangeAddress() method. If False the additional range is added without any checking against the previously contained elements. If True the added range is reduced to a default avoiding intersections, and merging adjacent ranges where applicable. (There may be details I don’t know.)
Finally: If you (@MikeMcClain46 ) want to continue with programming in LO Basic and with using the LibreOffice API, you need to read the famous texts by Andrew Pitonyak availanle from www.pitonyak.org/oo.php (You may prefer to download the pdf versions linked in the table.)

Thanks for the info and the link. I hadn’t run into OOMEv4 or the 2 Sun docs.

I’ve been going through AndrewPersonalLibs.odt, Pitonyak’s OOMEv3.pdf, AndrewMacro.odt,LOCalcGuide70.pdf, LOQuiickReference.odt, OOoBasicVBCompare.odt, VbaStarBasicXref.odt , macroAsParameter.ods,
How_to_use_basic_macros.odt as well as the LibreOffice, OpenOffice websites and Google for weeks now trying to make sense of it all and have most of my spreadsheet running on LO Basic instead of VBA but there are still hurdles. This dealing with cellRanges being one.

Again thanks for your help,
Mike