
Ist so etwas möglich und wie verfahre ich da? Hat Jemand so eine Art How-To-Do für mich?
Grüße
Peter
Moderator: Moderatoren
Nein, Base kann so etwas nicht.Lord Nelson hat geschrieben:Ist so etwas möglich
Dann könntest Du hier vielleicht mal nett anfragen. ob Dir einer dabei helfen kann...Lord Nelson hat geschrieben:denn sowas kann ich leider nicht!
Die Unterstreichungen sind immer die wechselnden Daten. Vielleicht ist ja Jemand so nett und hilft einem Halbwissenden.Reklamation-Nr.: 12345
Zustellungsdatum: 01.02.13 Titel: 123 Bezirk: 12345
Straße: Straßenname Haus Nr.:12 Name: Nachname Telefon-Leser: 01234/12345
Zusteller: 1234 Name: Zustellername Telefon: 12345/12345
Achtung!
Seit Wochen kommt die Zeitung nur 14-Tägig
oder gar nicht. Wiederholte Reklamation!
Welche Hälfte weisst Du denn?Lord Nelson hat geschrieben:und hilft einem Halbwissenden
Lord Nelson hat geschrieben: Haus Nr.:12 -> nach -> Haus-Nr. [Zahl]
[...]
Telefon-Leser: 01234/12345 -> nach -> Telefon [Zahl]
[...]
Zustellername Telefon: 12345/12345 -> nach -> Telefon Zust. [Zahl]
Code: Alles auswählen
Sub de48860
GlobalScope.BasicLibraries.loadLibrary( "Tools" )
' 2011-07-11
' hier anpassen ! ! ! ! !
'
sTempDatei = "/home/BENUTZER/testdata/thunderbird.txt"
On Error Goto ERR_1
iNumber = Freefile
On Error Resume Next
Open sTempDatei For Input As iNumber
While not EOF( iNumber)
Line Input #iNumber, sZeile
' Position des ersten Doppelpunktes
iPosDoppelpkt = INSTR( 1, sZeile, ":" )
' bestimmt den Typ der Zeile
Select Case iPosDoppelpkt
Case 16 ' "Reklamation-Nr.:"
idRekla = _
MID( sZeile, iPosDoppelpkt+2 , LEN (sZeile)-iPosDoppelpkt+1 )
Case 17 ' "Zustellungsdatum:"
dZustell = FindPartString( sZeile, "Zustellungsdatum: ", " Titel: ", 1 )
iPosBezirk = INSTR( sZeile, "Bezirk: " )
iBezirk = TRIM ( MID( sZeile, iPosBezirk+6 ) )
Case 7 ' "Straße"
sStrasse = FindPartString( sZeile, "Straße: ", "Haus Nr.:", 1 )
iHausNr = FindPartString( sZeile, "Haus Nr.:", "Name:", 1 )
sAnrufer = FindPartString( sZeile, "Name:", "Telefon-Leser", 1 )
iPosTelLeser = INSTR( sZeile, "Telefon-Leser" )
sTelLeser = MID( sZeile, iPosTelLeser+14 )
Case 10 ' "Zusteller:"
sPersNr = FindPartString( sZeile, "Zusteller: ", "Name:", 1 )
iPosTel = INSTR( sZeile, "Telefon:" )
sZustTel = MID( sZeile, iPosTel+9 )
Case Else
sBemerk = sBemerk & sZeile & " "
End Select
WEnd
Close #iNumber
print "rekl " & idRekla
print "datum " & dZustell
print "bezirk " & iBezirk
print "str " & sStrasse
print "hnr " & iHausNr
print "anrufer " & sanrufer
print "telLeser " & sTelLeser
print "PersNr " & sPersNr
print "Tel " & sZustTel
print sbemerk
End Sub
a) "Haus Nr." können nach meiner Erfahrung auch lauten: "10-12" oder "1a": Datentyp ZAHL ungeeignet; nimm TEXT
b) "Telefon-Leser": mit dem Trenner "/" nicht als ZAHL speicherbar, auch geht die Vorwahl-Null verloren; nimm TEXT
c) desgleichen für "Zustellername Telefon"
GrußBasic-Syntaxfehler Label ERR_1 undefiniert
Richtig.Lord Nelson hat geschrieben:Richtig?
Der Abschnitt ist beim Kopieren verloren gegangen.Basic-Syntaxfehler Label ERR_1 undefiniert
Code: Alles auswählen
Exit Sub
' ------------------------------------------------------------------
ERR_1:
MsgBox _
"Fehler beim Versuch eine Dateinummer zu erhalten." & CHR(10) _
& CHR(10) & "Erklärung:" _
& CHR(10) & "Zu viele geöffnete Dateien."_
& CHR(10) & "Makro " & sMakroName & "wird nun beendet." _
, 48 , sMakroName & sMakroVersion
Code: Alles auswählen
sMakroName = "Mail nach Datenbank"
sMakroVersion = "2011-07-13"
SubsMakroName = "Mail nach Datenbank"
sMakroVersion = "2011-07-13"de48860
GlobalScope.BasicLibraries.loadLibrary( "Tools" )...
Wenn ich die obere Zeile weglasse und nur den zuerst von Dir beschriebenen Absatz unter Print einfüge, dann kommen einige Meldungen, die ich mit Okay beantworten kann und zum Schluss öffnet sich ein Fenster, indem der Zusteller mit Name und Telefon vermerkt ist und auch der Grund der Reklamation. Das müsste auch noch getrennt werden.Basic Syntaxfehler erwartet: Sub
Lord Nelson hat geschrieben:SubsMakroName = "Mail nach Datenbank"
sMakroVersion = "2011-07-13"de48860
Code: Alles auswählen
Sub de48860
sMakroName = "Mail nach Datenbank"
sMakroVersion = "2011-07-13"
1. Fenster= rekl 1234 Name:Richtiger Name Telefon:01234-1234567 = richtig
rekl ist aber als Ergebnis die Personal-nr. des Zustellers.
2.datum = leer
3.bezirk = leer
4. str = leer
5.hnr= leer
6. anrufer = leer
7. telLeser = 7:04:36 UT
8. PersNr = leer
9. Tel ion-Nr: 36058 (das ist aber die Reklamationsnr.)
10. Betreff:REKLAMATION Von:logitik@prospekte.de Datum: An: Peter@t-online.de
Zustelldatum:09,07.11 Titel:021 Bezirk:11146 Straße:StraßenStr. HausNr.:21
Name:Leser Telefon-Leser:0123/1234565
Wiederholte Reklamation: 2 in 1 Woche Achtung!Hier muss auch regelmäßig
zugestellt werden!Zeitung muss bis 16 Uhr verteilt werden!!!!
Ich bekomme jetzt die einzelnen Daten in den Fenstern richtig angezeigt. Nur bei Case 20 wird der Titel und bei Case 13 komplett ignoriert.Sub de48860
sMakroName = "Mail nach Datenbank"
sMakroVersion = "2011-07-13"
GlobalScope.BasicLibraries.loadLibrary( "Tools" )
' 2011-07-13
' hier anpassen ! ! ! ! !
'
sTempDatei = "C:\Users\Peter\Favorites\Zusteller/REKLAMATION.txt"
On Error Goto ERR_1
iNumber = Freefile
On Error Resume Next
Open sTempDatei For Input As iNumber
While not EOF( iNumber)
Line Input #iNumber, sZeile
' Position des ersten Doppelpunktes
iPosDoppelpkt = INSTR( 7, sZeile, ":" )
' bestimmt den Typ der Zeile
Select Case iPosDoppelpkt
Case 16 ' "Reklamation-Nr.:"
idRekla = _
MID( sZeile, iPosDoppelpkt+2 , LEN (sZeile)-iPosDoppelpkt+1 )
Case 20 ' "Zustellungsdatum:"
dZustell = FindPartString( sZeile, "Zustellungsdatum: ", " Titel: ", 1 )
iPosBezirk = INSTR( sZeile, "Bezirk: " )
iBezirk = TRIM ( MID( sZeile, iPosBezirk+6 ) )
Case 10 ' "Straße"
sStrasse = FindPartString( sZeile, "Straße: ", "Haus Nr.:", 1 )
iHausNr = FindPartString( sZeile, "Haus Nr.:", "Name:", 1 )
sAnrufer = FindPartString( sZeile, "Name:", "Telefon-Leser", 1 )
iPosTelLeser = INSTR( sZeile, "Telefon-Leser" )
sTelLeser = MID( sZeile, iPosTelLeser+14 )
Case 13 ' "Zusteller:"
sPersNr = FindPartString( sZeile, "Zusteller:", "Name:", 1 )
iPosTel = INSTR( sZeile, "Telefon:" )
sZustTel = MID( sZeile, iPosTel+9 )
Case Else
sBemerk = sBemerk & sZeile & " "
End Select
WEnd
Close #iNumber
print "rekl " & idRekla
print "datum " & dZustell
print "bezirk " & iBezirk
print "str " & sStrasse
print "hnr " & iHausNr
print "anrufer " & sanrufer
print "telLeser " & sTelLeser
print "PersNr " & sPersNr
print "Tel " & sZustTel
print sbemerk
Exit Sub
' ------------------------------------------------------------------
ERR_1:
MsgBox _
"Fehler beim Versuch eine Dateinummer zu erhalten." & CHR(10) _
& CHR(10) & "Erklärung:" _
& CHR(10) & "Zu viele geöffnete Dateien."_
& CHR(10) & "Makro " & sMakroName & "wird nun beendet." _
, 48 , sMakroName & sMakroVersion
End Sub
Sub Main
End Sub
Schön, dass Du etwas probieren willst... allerdings solltest Du auch verstehen, was Du änderst.Lord Nelson hat geschrieben:Habe ein wenig an den Nummern hinter Case rumprobiert
Code: Alles auswählen
iPosDoppelpkt = INSTR( 7, sZeile, ":" )