Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Probleme bei mehrspaltiger Listbox

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Probleme bei mehrspaltiger Listbox (5003 mal gelesen)
kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 30. Nov. 2004 08:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich will Daten in einer Listbox mehrspaltig darstellen lassen, aber irgendwie klappt das nicht. Habe schon einiges getestet, die Hilfe bemüht, im Forum gesucht usw. Vielleicht hat jemand einen Tipp, was an meinem Code falsch ist?


Code:

Private Sub cmdAuslesen_Click()

Open "Blockauslesung" For Output As #1 'Öffnen der Datei zur Ausgabe

'Variablendeklaration
Dim elem As AcadEntity

lstBlockdaten.ColumnCount = 2   'Festlegung von 2 Spalten

   'Schleife für jedes Element im Modellbereich
   For Each elem In ThisDrawing.ModelSpace
       
      'If wird ausgeführt, wenn Element eine Blockreferenz ist
     
       If TypeOf elem Is IAcadBlockReference Then
           
         'Ausgabe der Zeilen mit den Werten
            Write #1, "Blockname", elem.Name
           
            lstBlockdaten.Column (0,0) = elem.Name

            'hier gibts die Probleme - ergibt den Wert nicht in Spalte 0 und Zeile 0 aus, sondern bringt die Fehlermeldung "Laufzeitfehler 381 - Eigenschaft Column konnte nicht gesetzt werden - Index des Eigenschaftenfeldes ungültig"
           
            Write #1, "Block-ID", elem.ObjectID
                 
         End If
    Next

Close #1   'Datei schließen


End Sub


[Diese Nachricht wurde von kiltswitch am 30. Nov. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 30. Nov. 2004 12:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kiltswitch 10 Unities + Antwort hilfreich

Es gibt keine Eigenschaft 'Column'. Im Überwachungsfenster kannst Du sehen, auf welche Du Zugriff hast und das sind bei einem Listfeld.

BackColor
BorderColor
BordersSuppress     
BorderStyle         
BoundColumn         
BoundValue         
Cancel             
ColumnCount         
ColumnHeads         
ControlSource     
ControlTipText     
Default             
DisplayStyle       
Enabled             
Font               
FontBold           
FontItalic         
FontName           
FontSize           
FontStrikethru     
FontUnderline       
FontWeight         
ForeColor           
Height             
HelpContextID       
IMEMode             
IntegralHeight     
Left               
ListCursor         
ListStyle           
ListWidth           
Locked             
MatchEntry         
MouseIcon           
MousePointer       
MultiSelect         
Name               
RowSource           
RowSourceType       
SpecialEffect       
TabIndex           
TabStop             
Tag                 
Text               
TextAlign           
TextColumn         
Top                 
TopIndex           
Valid               
Value               
Visible             
Width


Gruß TP

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

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 30. Nov. 2004 12:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Bild.jpg

 
Achso, dann geht das also gar nicht? Komisch, da ist wohl das, was ich in der VBA-Hilfe gefunden habe, etwas anderes? siehe Anhang...

Kilt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 30. Nov. 2004 14:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kiltswitch 10 Unities + Antwort hilfreich

Sorry,

mein Fehler. Aber kuck Dir doch mal das Beispiel an ... da steht doch alles drinnen.

Gruß TP

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

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 30. Nov. 2004 14:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Meinst Du das Beispiel?

Dim MyArray(6,3)

Private Sub UserForm_Initialize()
    Dim i As Single
    'The 1-st list box contains 3 data columns
    ListBox1.ColumnCount = 3       
    'The 2nd box contains 6 data columns
    ListBox2.ColumnCount = 6       

    'Load integer values into first column of MyArray
    For i = 0 To 5
        MyArray(i, 0) = i
    Next i

    'Load columns 2 and three of MyArray
    MyArray(0, 1) = "Zero"
    MyArray(1, 1) = "One"
    MyArray(2, 1) = "Two"
    MyArray(3, 1) = "Three"
    MyArray(4, 1) = "Four"
    MyArray(5, 1) = "Five"

    MyArray(0, 2) = "Zero"
    MyArray(1, 2) = "Un ou Une"
    MyArray(2, 2) = "Deux"
    MyArray(3, 2) = "Trois"
    MyArray(4, 2) = "Quatre"
    MyArray(5, 2) = "Cinq"

    'Load data into ListBox1 and ListBox2
    ListBox1.List() = MyArray
    ListBox2.Column() = MyArray

End Sub

-----------
Das habe ich mir bereits angesehen und auch ausprobiert. Nur wie Du sehen kannst, ist das Array auf 6 Spalten und 3 Zeilen begrenzt. Bei mir weiß ich jedoch nicht, wieviel Zeilen auftreten werden, weil es ja davon abhängt, wieviel in meiner Zeichnung Blockreferenzen vorhanden sind, von denen ich die gewünschten Daten auslesen möchte. Das wird ja von Zeichnung zu Zeichnung unterschiedlich sein, ist also dynamisch.
Daher habe ich probiert, dem Array eine Variable als Begrenzung zuzuweisen, alos z.B. so: MyArray (2, n). 2 Spalten und n Zeilen (dass ich nur 2 Spalten benötige, weiß ich). Das n wollte ich dann in der For-Schleife immer erhöhen lassen: n = n + 1, damit immer eine neue Zeile geschrieben wird.

Das Problem ist nur, dass Variablen in Feldern durch VBA nicht akzeptiert werden... :-(

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 30. Nov. 2004 19:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kiltswitch 10 Unities + Antwort hilfreich

Show must go on - wir dachten Premiere sei am Donnerstag,
Dienstags ist nämlich immer nur Generalprobe.;-)

Du verwechselst hier 'tuesday' mit 'thursday',
genauso wie Du Spalten mit Zeilen verwechselst ...

Das Zauberwort heisst ReDim, schau mal danach in der Hilfe.
Bei einem reinen Redim musste aber trotzdem wissen wieviele Blöcke es sind, funktioniert also nur, wenn Du vorher die betreffenden Dinger zählst und in einer Variablen speicherst. Dann hiesse es redim myarr(n,2)

Wie du's jetzt hast dim myarr(2,n) == 2 Zeilen und n Spalten - diese Konstellation ist aber vermutlich ein Denkfehler von Dir. Wenn doch nicht, könntest Du mit redim preserve myarr(2,n)
arbeiten, ohne vorher n zählen zu müssen, aber ein 'Preserve' geht eben nur bei der letzten Dimension eines Feldes.

Such mal nach den genannten Schlüsselwörtern, lies dich etwas ein und
spiel mal kreativ mit den gefundenen Beispielen rum,
und wenns nicht geht, versuch was andres, vielleicht geht's dann [oder auch nicht]

Nancy  
--
"Karen has her own i, and she is not going to let Frank put his
data into it." - F. D. Boswell
                                    

[Diese Nachricht wurde von startrek am 01. Dez. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 01. Dez. 2004 09:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für Deine Hilfe. Ich schaue mir das dann mal näher an und probiere das aus.

Aber z.Zt. sitze ich vor einem anderen Problem, wozu die Lösung zunächst wichtiger ist. Siehe meinen neuen Thread...

Kilt

P.S.: Du kannst ja noch bis morgen mit Deiner Antwort auf meinen neuen Thread warten, wenn erst Donnerstag wieder Aufführung ist. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 02. Dez. 2004 02:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kiltswitch 10 Unities + Antwort hilfreich

verdammt Tobias,

das war kein joke.
Fakt ist, du veranstaltest hier eine Odyssee ...
Die begann damit, Blockdaten in ein Textfile zu schreiben,
ging über Excel bis hin zu Listviews.
Ich frag mich was als nächtes kommt, die Zwischenablage?

Okay, ich will ja keinen hier fertig machen, aber so langsam solltest
Du dir [oder dein cheffe] mal darüber im klaren werden,
worauf der ganze 'Blockzauber' eigentlich hinauslaufen soll.

Holger und Axel haben alles bereits gesagt, mit dem Konzept steht und fällt alles,
und die Grundlagen sollten bekannt & geläufig sein.
Vorher lohnt es sich nicht auch nur eine einzige Zeile zu coden,
es sei denn man übt grade mal;-)

Nancy   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 02. Dez. 2004 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nancy,

ich mache nur das, was man mir hier im Unternehmen sagt! Zunächst konnte sich mein Chef nicht genau ausdrücken, was er will, was kann ich dafür?! Also habe ich - auch in meiner Unwissenheit - versucht, herauszubekommen, was es für Möglichkeiten mit den Blöcken gibt. Er erzählte mir etwas von Konzept - ergo habe ich hier im Forum nachgefragt, wie das geht und was man beachten muß. Dann meinte er, Excel wäre vielleicht eine Lösung - ergo habe ich das mit Excel probiert. Und nun meint er eben, sequentielle Dateien möchte er haben. Und deshalb bin ich jetzt auf diesen Zug aufgesprungen. Also wie gesagt, ich setze nur das um, was sich mein Chef so alles in den Kopf gesetzt hat - mehr nicht! Ich hoffe ja selber, dass das nun die endgültige Variante ist...

------------------
Gruß
Tobias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4191
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 02. Dez. 2004 10:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kiltswitch 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von kiltswitch:
...Also wie gesagt, ich setze nur das um, was sich mein Chef so alles in den Kopf gesetzt hat - mehr nicht!...

Wenn das deine Grundeinstellung ist, das zu machen, was der Chef sagt, dann solltest du dich auf harte Zeiten einstellen.
In aller Regel bist du für das Ergebnis verantwortlich, und es weiß später keiner mehr, dass Chef gesagt hat, das so zu tun. Deshalb ist es deine Aufgabe, dem Chef sinnvolle Lösungen und Wege vorzuschlagen.
Mal abgesehen davon, würde es mich verdammt nerven, wenn meine Mitarbeiter alles das machen, was ich sage, denn dieses Verhalten hilft dem Unternehmen überhaupt nicht, es schadet!Damit sind wir aber wieder beim Thema Konzept ...

Ein Satz noch: Du studierst doch. Sollte man nach/während einer Ausbildung nicht auch in der Lage sein, eine eigene Meinung zu entwickeln, diese auch zu vertreten? Ich denke dafür sollten/werden die Akademiker auch bezahlt.

Holger

------------------
Holger Brischke
(defun - Lisp over night!                          Autodesk User Group Central Europe
AutoLISP-Programmierung für AutoCAD              AUGCE Manager Deutschland
Da weiß man, wann man's hat!
                     

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 02. Dez. 2004 11:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@Holger:

Das Thema Konzept steht momentan einfach nicht zur Debatte.

Mein Chef hat klare Vorstellungen, was er gern geklärt haben möchte. Und ich soll das rausbekommen. Natürlich spreche ich auch mit ihm und versuche ihm zu verdeutlichen, worauf noch geachtet werden muß, aber letzendlich entscheidet ER doch, was getan wird. Und er hat mir eben die Aufgabe gegeben, das mit den sequentiellen Dateien zu probieren...

------------------
Gruß
Tobias

[Diese Nachricht wurde von kiltswitch am 02. Dez. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 03. Dez. 2004 19:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kiltswitch 10 Unities + Antwort hilfreich

Two programmers went on a fishing vacation on the west coast. They each went
off in separate boats to try their luck.  When they returned, the first
programmer had great luck, bagging six huge coho salmon while the other came
back empty.

The second programmer says to the first, "Did you mark the spot where
you caught the fish?"

"I sure did", replied the lucky programmer, "I drew an X right here in the
bottom of the boat.

The second shook his head in disbelief and groaned "That's not very bright.
How do you know you'll get the same boat tomorrow?"

--
naja - dachte so als Schlusswort ... ;;-))
Gruss Nancy

[Diese Nachricht wurde von startrek am 03. Dez. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kiltswitch
Mitglied



Sehen Sie sich das Profil von kiltswitch an!   Senden Sie eine Private Message an kiltswitch  Schreiben Sie einen Gästebucheintrag für kiltswitch

Beiträge: 189
Registriert: 27.10.2004

Windows 98 (Version 4.10.1998)
AutoCAD 2000i

erstellt am: 06. Dez. 2004 08:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Jetzt setze ich nochmal das allerletzte Schlußwort in diesen Thread hier rein :-)

Ich verstehe eure Meinungen, besonders die von Holger, sehr gut. Und glaubt mir, ich bringe das im Unternehmen und bei meinem Chef auch zur Rede. Bloß ich kann an seiner Einstellung nicht viel ändern. Er hat sich das, was man mir hier als Ratschläge gegeben hat, angehört. Aber es interessiert ihn derzeit eben noch nicht. Ich kann daran nicht viel ändern. Aber ich werde versuchen, alles einzubringen, was zum guten Gelingen meines Konzeptes notwendig ist.

------------------
Gruß
Tobias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz