Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Textfeld nur für Daten aus RS232 Schnittstelle

Betrifft: Textfeld nur für Daten aus RS232 Schnittstelle von: Kay
Geschrieben am: 01.09.2014 09:06:12

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

  

Betrifft: AW: Textfeld nur für Daten aus RS232 Schnittstelle von: yummi
Geschrieben am: 01.09.2014 09:21:00

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


  

Betrifft: AW: Textfeld nur für Daten aus RS232 Schnittstelle von: Kay
Geschrieben am: 01.09.2014 14:58:49

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



  

Betrifft: AW: Textfeld nur für Daten aus RS232 Schnittstelle von: Martin
Geschrieben am: 01.09.2014 09:47:51

Hallo Kay,

du musst die Locked-Eigenschaft der TextBox auf "True" setzen, dann sind keine manuellen Eingaben mehr möglich:



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


  

Betrifft: AW: Textfeld nur für Daten aus RS232 Schnittstelle von: Kay
Geschrieben am: 01.09.2014 15:10:57

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


  

Betrifft: AW: Textfeld nur für Daten aus RS232 Schnittstelle von: Martin
Geschrieben am: 01.09.2014 21:47:35

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


 

Beiträge aus den Excel-Beispielen zum Thema "Textfeld nur für Daten aus RS232 Schnittstelle"