Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Listbox Textfarbe

Frage Entwicklung VB for Applications

Mitglied: Cadsys-Chemnitz

Cadsys-Chemnitz (Level 1) - Jetzt verbinden

11.02.2010 um 12:42 Uhr, 14159 Aufrufe, 5 Kommentare

Folgendes Problem wie im Codebeispiel unten ersichtlich lese ich aus einem Excelfile eine Kundenliste aus und übertrage diese in eine Listbox.


01.
 
02.
Dim Pfad As Excel.Application 
03.
Dim Kundenzahl As Integer 
04.
Dim a As Integer 
05.
Dim x As Integer 
06.
 
07.
Pfad = CreateObject("Excel.Application") 
08.
Pfad.Workbooks.Open("v:\Data\Center000.xls") 
09.
 
10.
Kundenzahl = Pfad.ActiveWorkbook.ActiveSheet.Range("d3").Value 
11.
 
12.
ListBox1.BeginUpdate() 
13.
 
14.
For x = 1 To Kundenzahl 
15.
        ListBox1.Items.Add(Pfad.ActiveWorkbook.ActiveSheet.Range("c" & 9 + x).Value) 
16.
Next x 
17.
 
18.
ListBox1.EndUpdate() 
19.
 
20.
ListBox1.SetSelected(0, True) 
21.
 
22.
Pfad.Application.DisplayAlerts = False 
23.
Pfad.ActiveWorkbook.Saved = False 
24.
Pfad.ActiveWorkbook.Close() 
25.
Pfad.Application.DisplayAlerts = True 
26.
 

Das soweit auch gar kein Problem. Nun muss ich aber die Kunden in Rot oder Blau einfärben je nachdem ob die Kunden einen Wartungsvertrag haben oder nicht.

Das ganze könnte so aussehen:


01.
 
02.
Dim Pfad As Excel.Application 
03.
        Dim Kundenzahl As Integer 
04.
        Dim a As Integer 
05.
        Dim x As Integer 
06.
 
07.
        Pfad = CreateObject("Excel.Application") 
08.
        Pfad.Workbooks.Open("v:\Data\Center000.ini") 
09.
 
10.
        Kundenzahl = Pfad.ActiveWorkbook.ActiveSheet.Range("d3").Value 
11.
 
12.
        ListBox1.BeginUpdate() 
13.
 
14.
        For x = 1 To Kundenzahl 
15.
            a = Pfad.ActiveWorkbook.ActiveSheet.Range("e" & 9 + x).Value 
16.
            ListBox1.Items.Add(Pfad.ActiveWorkbook.ActiveSheet.Range("c" & 9 + x).Value)  
17.
            ListBox1.SetSelected(x - 1, True)     'Es heist x-1 weil der Index des ersten Listboxeintrages 0 ist 
18.
            if a = 1 then Listbox1.SelectedItem = ForeColor.Red 
19.
        Next x 
20.
        ListBox1.EndUpdate() 
21.
 
22.
        ListBox1.SetSelected(0, True) 
23.
         
24.
        Pfad.Application.DisplayAlerts = False 
25.
        Pfad.ActiveWorkbook.Saved = False 
26.
        Pfad.ActiveWorkbook.Close() 
27.
        Pfad.Application.DisplayAlerts = True 
28.
 

Soweit so gut nur funktioniert es nicht, es kommt zwar keinerlei Fehlermeldungen. Also das Programm läuft so aber die Textfarbe wird nicht geändert.

Wenn ich

01.
 
02.
ListBox1.Forecolor = Color.Red eingebe 
03.
 
färbt er mir immer den gesamten Text der Listbox ein.




Weis einer von Euch rat wo ich da den ansetzen kann???
Mitglied: SlainteMhath
11.02.2010 um 13:52 Uhr
Moin,

mach doch mal aus
if a = 1 then Listbox1.SelectedItem = ForeColor.Red
ein
if a = 1 then Listbox1.SelectedItem.ForeColor = Color.Red
vielleich hilft das .)

lg,
Slainte
Bitte warten ..
Mitglied: Cadsys-Chemnitz
11.02.2010 um 14:19 Uhr
mach doch mal aus
if a = 1 then Listbox1.SelectedItem = ForeColor.Red
ein
if a = 1 then Listbox1.SelectedItem.ForeColor = Color.Red
vielleich hilft das .)
lg,
Slainte


Dann kommt nur folgende Meldung:

Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt.
Bitte warten ..
Mitglied: SlainteMhath
11.02.2010 um 14:34 Uhr
(Begrüßungen sind wohl aus der mode, ja?)

Ach, ist das dsa standard Listbox Control von VB6? Dann geht das m.W. nicht. Ggfs gibts solche Controls noch zu kaufen. => google.

(ohne grüße)
Bitte warten ..
Mitglied: 76109
11.02.2010 um 14:54 Uhr
Hallo Cadsys-Chemnitz!

Also, sowas wie " Color.Red" ist mir unbekannt.

Mit dem kleinen Beispiel kannst Du z.B. die Farbtabelle des Aktiven Workbooks auslesen.

Die Funktion gibt ein Array mit 40 Farben aus der Sheet Füll/Textfarben-Tabelle + 16 zusätzlichen Farben (siehe Optionen Farbe) zurück . Allerdings stimmt die Reihenfolge nicht mit der Tabelle überein, so ist z.B. ROT die Nr. 3 bzw. Farb-Index 3. Zurückgegeben wird ein 24-Bit Farbwert.

01.
Sub Test() 
02.
    Dim Farbe As Long, i As Integer 
03.
     
04.
    For i = 1 To 56 
05.
        Farbe = ActiveWorkbook.Colors(i)	 
06.
    Next 
07.
 
08.
    Farbe = ActiveWorkbook.Colors(3)        'Rückgabe Long-Farbwert Rot 
09.
 
10.
  '.ForeColor = ActiveWorkbook.Colors(3)  
11.
End Sub
Ob allerdings in einer ListBox ein einzelnes Item mit einer eigenen Farbe belegt werden kann, weiß ich nicht?

Gruß Dieter
Bitte warten ..
Mitglied: Cadsys-Chemnitz
12.02.2010 um 08:09 Uhr
Ok nach bisschen Recherge bei Tante Google ...

es geht tatsächlich nicht in einer Listbox, die Farbe eines einzelnen Elements anzupassen. Nur die allgemeine Farbe des gesamten Textes. Es gibt zwar eine Bastellösung, aber die ist älter und scheint mit aktuellen VB2008 nicht mehr zu funktionieren.

Ich werde das ganze jetzt etwas anders angehen und es mit einem Listview probieren da hab ich mehr möglichkeiten (Spalten,Farbe,Icons ... usw).

Ich danke Euch aber für Eure Hilfe besonders das Beispiel von Didi hat mich in einem anderen Zusammenhang auf ne Idee gebracht.
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Powershell in Listbox ausgabe anpassen
gelöst Frage von LyonADEntwicklung3 Kommentare

Guten Tag zusammen Ich möchte das bei der Listboxausgabe nur die IP und der Ordner(\\XX.X.XX.X\Ordner) angezeigt wird. Jedoch werden ...

Batch & Shell
Powershell Auswahlgruppen für Listbox Einträge
gelöst Frage von BuggerBatch & Shell4 Kommentare

Hallo zusammen, ist es möglich, eine Variable mit mehreren Einträgen zu haben und diese in der Listbox auszuwählen? Also ...

Microsoft Office
Mehrere Zeihlen in "Listbox" einfügen
gelöst Frage von GundelputzMicrosoft Office8 Kommentare

Hallo alle zusammen, Heute benötige ich wieder einmal eure Hilfe. Ich benötige eine Möglichkeite mit der ich einen vierzeiligen ...

Batch & Shell
Powershell Listbox Items verschieben
gelöst Frage von internet2107Batch & Shell2 Kommentare

Hallo. Ist es möglich, dass man Items in einer Listbox mit einer Art Button verschiebt? Ich lade die Einträge ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 2 StundenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 9 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 11 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 14 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...