Anfängerfragen

31/05/2011 - 11:37 von Hans List | Report spam
Hallo liebe Experten,

ich habe gestern ein Makro gebastelt, mit dem ich Listen mit
Wortpaaren (z. B. Englisch-Deutsch) 'anreichern' kann:

the man\tder Mann > The man\tDer Mann

Das funktioniert zwar recht gut, aber ich hàtte trotzdem einige
Fragen:

1. Gibt es denn kein vbSpace?

2. Wie viel OR-Verknüpfungen kann ich aneinanderreihen?

3. Ich würde gerne nach mehr Zeichenketten suchen (dieser, dieses,
jener, jene usw.). Gibt es da nicht ein ökonomischeres Verfahren?

Besten Dank für Euere Hilfe!

Hans

strZoekDe = vbTab & "der "
strZoekHet = vbTab & "das "
strZoekEen = vbTab & "die "

Line Input #1, strRegel

If InStr((LCase(strRegel)), strZoekDe) Or
InStr((LCase(strRegel)), strZoekHet) Or InStr((LCase(strRegel)),
strZoekEen) Then
intTabPos = InStr(strRegel, vbTab)
strLinks = Left(strRegel, intTabPos)
strRechts = Right(strRegel, Len(strRegel) - intTabPos)
strBeginLinks = Left(strLinks, 1)
strBeginRechts = Left(strRechts, 1)
strEindeLinks = Right(strLinks, Len(strLinks) - 1)
strEindeRechts = Right(strRechts, Len(strRechts) - 1)
strLinksLower = LCase(strBeginLinks) & strEindeLinks
strRechtsLower = LCase(strBeginRechts) & strEindeRechts
strLinksUpper = UCase(strBeginLinks) & strEindeLinks
strRechtsUpper = UCase(strBeginRechts) & strEindeRechts

Print #2, strLinksLower & "!!!!" & strRechtsLower
Print #2, strLinksUpper & "!!!!" & strRechtsUpper

End If
 

Lesen sie die antworten

#1 W.Jahn
31/05/2011 - 23:39 | Warnen spam
Am 31.05.2011 11:37, schrieb Hans List:

1. Gibt es denn kein vbSpace?


Nö.

2. Wie viel OR-Verknüpfungen kann ich aneinanderreihen?


Keine Ahnung. Brauchts aber auch garnicht. S.u.

3. Ich würde gerne nach mehr Zeichenketten suchen (dieser, dieses,
jener, jene usw.). Gibt es da nicht ein ökonomischeres Verfahren?



Hier z.B.:


Sub TestHans()
'Line Input #1, strRegel
'Print #2, hans(strRegel)
MsgBox hans("the man" & vbTab & "der Mann"), , "Hans"
End Sub

Function hans(strRegel)
Const SEP = "!!!!"
Dim aryTrigger, aryRegel
Dim strTrigger

aryTrigger = Split("der die das") 'jener jene jenes ...

For Each strTrigger In aryTrigger
If InStr(strRegel, strTrigger) > 0 Then
aryRegel = Split(strRegel, vbTab, 2)
hans = LCase(aryRegel(0)) & SEP & LCase(aryRegel(1) & vbCrLf) _
& CCase(aryRegel(0)) & SEP & CCase(aryRegel(1))
Exit Function
End If
Next strTrigger
hans = ""
End Function

Function CCase(strPar)
CCase = UCase(Left(strPar, 1)) & Mid(strPar, 2)
End Function



' Wolfram

Ähnliche fragen