Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textfeld nur für Daten aus RS232 Schnittstelle

Textfeld nur für Daten aus RS232 Schnittstelle
01.09.2014 09:06:12
Kay
Hallo zusammen,
ich habe lange gesucht, bin aber leider nicht fündig geworden. Ich hoffe das Ihr mir helfen könnt.
Zu meinem Problem:
Wir haben in der Firma eine Waage mit einer seriellen RS232 Schnittstelle. Das Gewicht, wird per F10 Tastendruck an Excel übertragen. Soweit funktioniert auch alles.
Jetzt möchte ich aber, das die TextBox in der die Daten geschrieben werden, für die manuelle Tasteneingabe gesperrt ist und nur noch die Daten mit der F10 Taste eingetragen werden.
Ich komme hier leider nicht weiter und hoffe das ihr mir helfen könnt.
Noch kurz zur F10 Taste: Diese Taste ist von der Software für die Waage vorbelegt und kann leider auch nicht geändert werden.
Ich danke Euch jetzt schon mal für die Hilfe
Gruß Kay

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfeld nur für Daten aus RS232 Schnittstelle
01.09.2014 09:21:00
yummi
Hallo Kay,
ich weiß zwar nicht, ob es bei dir um ein Textfeld in einer userform oder auf dem Tabellenblatt handelt und auch nicht welcher Art, aber mal ein Versuch:
Fang das Enter Event und das KeyDown Event ab und ignoriere dort die Eingabe oder gib eine Meldung aus.
Gruß
yummi

AW: Textfeld nur für Daten aus RS232 Schnittstelle
01.09.2014 14:58:49
Kay
Hallo yummi,
vielen Dank erstmal für die schnelle Antwort.
Könnte ich dir mal den Code posten. Ich hatte von den verschiedenen Events schon gelesen, hab aber keine Ahnung, wo ich sie positionieren muss.
Wie schon geschrieben, stehe ich total auf dem Schlauch.
zum verdeutlichen mal der Code dazu:

Private Sub btnSave_Enter()
Range("D65536").End(xlUp).Select
letzteZeile = ActiveCell.Row + 1
If ComboBox1.Text = "" Then
MsgBox "Bitte wählen Sie einen Benutzer aus!", vbInformation
TextBox9.Text = ""
ComboBox1.SetFocus
GoTo Ende
End If
If TextBox9.Text = Sheets("MitarbeiterMaschinen").Cells(ComboBox1.ListIndex + 1, 2) Then
MsgBox "Login erfolgreich! Daten wurden gespeichert!"
'Werte in Tabellenblatt schreiben
ActiveSheet.Cells(letzteZeile, 1) = TextBox1.Value              'Datum
ActiveSheet.Cells(letzteZeile, 2) = TextBox6.Value              'Uhrzeit
ActiveSheet.Cells(letzteZeile, 3) = CheckBox1.Caption           'Nach M1
'das ist die TextBox, welche ein Gewicht von der Waage empfängt
If TextBox3.Text = "" Then
ActiveSheet.Cells(letzteZeile, 4) = ""
Else
ActiveSheet.Cells(letzteZeile, 4) = CDbl(TextBox3.Value)        'gemessenes Gewicht
End If
If TextBox8.Text = "" Then
ActiveSheet.Cells(letzteZeile, 7) = ""
Else
ActiveSheet.Cells(letzteZeile, 7) = TextBox8.Value              'Einheit des gemessenen  _
Gewichts
End If
ActiveSheet.Cells(letzteZeile, 8) = TextBox4.Value              'Bemerkungen
ActiveSheet.Cells(letzteZeile, 14) = ComboBox1.Value            'Mitarbeiter
Range("A1:N1").Copy
Range("A65536").End(xlUp).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
TextBox3.Text = ""
TextBox8.Text = ""
TextBox3.SetFocus
TextBox6 = Time
TextBox6.Enabled = False
Else
MsgBox "Passwort falsch!"
TextBox9.Text = ""
TextBox9.SetFocus
GoTo Ende
End If
TextBox9.Text = ""
Ende:
End Sub

Anzeige
AW: Textfeld nur für Daten aus RS232 Schnittstelle
01.09.2014 09:47:51
Martin
Hallo Kay,
du musst die Locked-Eigenschaft der TextBox auf "True" setzen, dann sind keine manuellen Eingaben mehr möglich:
Userbild
Es interessiert mich, ob die Daten von Excel aus per VBA über die RS232-Schnittstelle abgerufen werden, da ich noch eine sehr alte Datei (rsapi.dll) dafür einsetze. Macht es dir etwas aus die Datei (oder zumindest den Code zum Ansprechen der RS232-Schnittstelle) hier hochzuladen?
Viele Grüße
Martin

AW: Textfeld nur für Daten aus RS232 Schnittstelle
01.09.2014 15:10:57
Kay
Hallo Martin,
die Locked Funktion habe ich auch schon versucht. Allerdings schreibt er dann gar nichts mehr in die TextBox. Es müsste beim drücken der F10-Taste, entsperrt werden und danach wieder gesperrt. Aber genau das bekomme ich nicht hin :-(
Zu deiner Frage:
Im Lieferumfang der Ware, war eine Software enthalten, die eine Verbindung zur Schnittstelle herstellt. In diesem Programm ist, wie schon geschrieben, die Taste F10 zur Datenübertragung vorbelegt. Hier mal ein Link dieser Software:
https://www.pce-instruments.com/deutsch/waegetechnik/waagen-im-online-vertrieb/waage-mit-rs-232-schnittstelle-software-paket-pce-procell-det_516477.htm
ich hoffe ich konnte deine Frage beantworten. Wenn nicht kannst du ja nochmal nachfragen.
Gruß Kay

Anzeige
AW: Textfeld nur für Daten aus RS232 Schnittstelle
01.09.2014 21:47:35
Martin
Hallo Kay,
schade, der Link zu der Software verrät mir nicht wirklich wie die RS232-Schnittstelle angesprochen wird. Mit dem folgenden Code sollte nur noch die F10-Taste von deiner TextBox akzeptiert werden:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If Not KeyCode = 121 Then KeyCode = Empty
End Sub
Viele Grüße
Martin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige