ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Dim item As ListItem (https://www.excelbanter.com/excel-programming/434074-dim-item-listitem.html)

Gustaf

Dim item As ListItem
 
Hi,

I get an error on line 2 in this code:

Dim item As ListItem
item.Text = product.Name
ListBox1.AddItem item
products.Add product, product.Name

The error is

Object variable of With block variable not set

For some reason, the ListItem object won't let itself be instantiated:

Dim item As ListItem
Set tem = New ListItem ' Compile error

My idea is to first instantiate a ListItem, set some properties to it and THEN add it to the ListBox. Why doesn't that work?

Gustaf

JP[_4_]

Dim item As ListItem
 
What object library is ListItem from? Do you have a reference set to
its object library?

--JP

On Sep 24, 11:17*am, Gustaf wrote:
Hi,

I get an error on line 2 in this code:

* Dim item As ListItem
* item.Text = product.Name
* ListBox1.AddItem item
* products.Add product, product.Name

The error is

* Object variable of With block variable not set

For some reason, the ListItem object won't let itself be instantiated:

* Dim item As ListItem
* Set tem = New ListItem *' Compile error

My idea is to first instantiate a ListItem, set some properties to it and THEN add it to the ListBox. Why doesn't that work?

Gustaf



Patrick Molloy[_2_]

Dim item As ListItem
 
afaik there is no listobject item. you can put text into a list , but not an
object unless its a string

Dim oitem As Object
Set oitem = New Class1
oitem.val = "A"
ListBox1.AddItem oitem.val

here class1 is an object with one property, val defined as string.
your method would work with a collection - such as the scripting dictionary





"Gustaf" wrote:

Hi,

I get an error on line 2 in this code:

Dim item As ListItem
item.Text = product.Name
ListBox1.AddItem item
products.Add product, product.Name

The error is

Object variable of With block variable not set

For some reason, the ListItem object won't let itself be instantiated:

Dim item As ListItem
Set tem = New ListItem ' Compile error

My idea is to first instantiate a ListItem, set some properties to it and THEN add it to the ListBox. Why doesn't that work?

Gustaf


Gustaf

Dim item As ListItem
 
Hi,

Right, I had mistakenly added a reference to mscomctl.ocx, where ListItem is. Unfortunately, I can't add any dependencies to this project, since it will cause problems for the users. I assume there is no way to tie an object to a listbox item without using controls not available by default in VBA, so I'll have to find another way.

Gustaf

--
Patrick Molloy wrote:
afaik there is no listobject item. you can put text into a list , but not an
object unless its a string

Dim oitem As Object
Set oitem = New Class1
oitem.val = "A"
ListBox1.AddItem oitem.val

here class1 is an object with one property, val defined as string.
your method would work with a collection - such as the scripting dictionary





"Gustaf" wrote:

Hi,

I get an error on line 2 in this code:

Dim item As ListItem
item.Text = product.Name
ListBox1.AddItem item
products.Add product, product.Name

The error is

Object variable of With block variable not set

For some reason, the ListItem object won't let itself be instantiated:

Dim item As ListItem
Set tem = New ListItem ' Compile error

My idea is to first instantiate a ListItem, set some properties to it and THEN add it to the ListBox. Why doesn't that work?

Gustaf


Patrick Molloy[_2_]

Dim item As ListItem
 
so instead of

item.Text = product.Name
ListBox1.AddItem item

what is wrong with

ListBox1.AddItem product.name

"Gustaf" wrote:

Hi,

Right, I had mistakenly added a reference to mscomctl.ocx, where ListItem is. Unfortunately, I can't add any dependencies to this project, since it will cause problems for the users. I assume there is no way to tie an object to a listbox item without using controls not available by default in VBA, so I'll have to find another way.

Gustaf

--
Patrick Molloy wrote:
afaik there is no listobject item. you can put text into a list , but not an
object unless its a string

Dim oitem As Object
Set oitem = New Class1
oitem.val = "A"
ListBox1.AddItem oitem.val

here class1 is an object with one property, val defined as string.
your method would work with a collection - such as the scripting dictionary





"Gustaf" wrote:

Hi,

I get an error on line 2 in this code:

Dim item As ListItem
item.Text = product.Name
ListBox1.AddItem item
products.Add product, product.Name

The error is

Object variable of With block variable not set

For some reason, the ListItem object won't let itself be instantiated:

Dim item As ListItem
Set tem = New ListItem ' Compile error

My idea is to first instantiate a ListItem, set some properties to it and THEN add it to the ListBox. Why doesn't that work?

Gustaf




All times are GMT +1. The time now is 10:06 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com