From: Michael on
Hi All
I have writen an COM Object in C# to use it in Excel. This Object has a
Function that delivers a List of Users from a Database. My problem is now
that I get the List of Users but it is not posible to get one of the
Properties of the User. But when I create a new Object with
Set user = CreateObject("GuptaIntferface.UserVOCom")
I can see all Properties of this object. My Question is now how can I tell
VBA now that the objects in the List are the UserVOCOM Objects?
thx for help
Michael
From: JLatham on
I'm kind of stabbing the dark on this one as I've never worked with a C#
object. But have you tried:
msgbox user.propertyname
which would print the value of the propertyname you provide in a message box
on screen. Just put that line right after your Set user = CreateObject(....)
statement and give it a go.

I say that I'm stabbing at it, because that's the way you'd reference a
property in a typical object as:
Set myRange = Range("B1:B9")
msgbox myRange.Rows.Count
would show a 9.

If user is a list you may have to reference the item in the list as:
msgbox user(1).propertyname


"Michael" wrote:

> Hi All
> I have writen an COM Object in C# to use it in Excel. This Object has a
> Function that delivers a List of Users from a Database. My problem is now
> that I get the List of Users but it is not posible to get one of the
> Properties of the User. But when I create a new Object with
> Set user = CreateObject("GuptaIntferface.UserVOCom")
> I can see all Properties of this object. My Question is now how can I tell
> VBA now that the objects in the List are the UserVOCOM Objects?
> thx for help
> Michael
From: Tim Williams on
Can you set a reference in the VBE to your library ?

Tim


"Michael" <Michael(a)discussions.microsoft.com> wrote in message
news:AB53D384-A566-4C65-981C-16E28FDE7920(a)microsoft.com...
> Hi All
> I have writen an COM Object in C# to use it in Excel. This Object has a
> Function that delivers a List of Users from a Database. My problem is now
> that I get the List of Users but it is not posible to get one of the
> Properties of the User. But when I create a new Object with
> Set user = CreateObject("GuptaIntferface.UserVOCom")
> I can see all Properties of this object. My Question is now how can I tell
> VBA now that the objects in the List are the UserVOCOM Objects?
> thx for help
> Michael


From: Michael on
thx for the Results
@Tim: Yes I allready added the reference
@JLatham: I had the some Idea like you with user(1).propertyname but then I
get the Error Message Runtime Error 424 Object necessary

I tried the following lines and all lines failed :(
user2 = Users(i)
objSheet.Range(cell).Value = Users(i).UserName
objSheet.Range(cell).Value = user2.UserName
thx for Help Michael

Here is my complete Code:

Sub Schaltfläche2_BeiKlick()
Set obj = CreateObject("GuptaIntferface.Wrapper")
Set objSheet = Worksheets("Tabelle1")
UserName = objSheet.Range("B1").Value
Password = objSheet.Range("B2").Value
workspace = objSheet.Range("B3").Value
mandant = objSheet.Range("B4").Value
resultnix = obj.InitWrapper(UserName, "", workspace, mandant)
resultnix = obj.RegisterHostaddress("Ibs.Infrastructure",
"http://localhost/Infrastructure.Host/")
result = obj.Test()
Users = obj.GetUserList()
Set user = CreateObject("GuptaIntferface.UserVOCom")
MsgBox user.UserName
For i = 1 To UBound(Users)
cell = "B" + CStr(i + 10)
user2 = Users(i)
objSheet.Range(cell).Value = Users(i).UserName
objSheet.Range(cell).Value = user2.UserName
Next i
MsgBox result
End Sub
From: Michael on
one more Info it looks like he has a Problem with the Array
when I use a c# like this
public UserVOCom[] GetUserList()
VBA can't read the the Objects in the List but when I use
public UserVOCom GetUser()
he can read the properties from this object
Any Ideas on this?
thx
Michael