Dim dn__$(), zku__$(), zko__$(), zkn__$(), zk__$(), n, o, p, gef__$(), an, a, b, c, ze$
Dim zkurau__$(), zkorau__$(), zknrau__$(), zkm__$(), zrt, space_, zzkp, zkurt__$(), zkort__$(), zknrt__$(), ert, ort, prt, eu, eo, ep, e, zkee__$(), ee
Public Sub main()
ReDim dn__$(1000)
ReDim zku__$(20)
ReDim zko__$(20)
ReDim zkn__$(20)
ReDim zk__$(30)
ReDim gef__$(2000)
ReDim zkurau__$(10, 10)
ReDim zkorau__$(10, 10)
ReDim zknrau__$(10, 10)
ReDim zkm__$(10)
ReDim zkurt__$(10)
ReDim zkort__$(10)
ReDim zknrt__$(10)
ReDim zkee__$(100)
Dim pfautor$
Dim pfinout$
Dim nd
Dim dlg2 As Object
Dim pfad$
Dim i
Dim dlg1 As Object
Dim dn$
Dim kr1
Dim kr2
Dim kr3
Dim zk$
Dim z
Dim j
Dim f
n = 0
o = 0
p = 0
an = 0
a = 0
b = 0
c = 0
ze$ = ""
zrt = 0
space_ = 0
zzkp = 0
ert = 0
ort = 0
prt = 0
eu = 0
eo = 0
ep = 0
e = 0
ee = 0
Close
zrt = 6
WordBasic.FormatParagraph
FirstIndent:="-0,65 cm"
zkm__$(1) = Chr(32):
zkm__$(2) = ",": zkm__$(3) = ".": zkm__$(4) =
"?": zkm__$(5) = ";": zkm__$(6) = "!": zkm__$(7)
= Chr(34): zkm__$(8) = "'": zkm__$(9) = Chr(148)
Close
pfautor$ =
"C:/"
pfinout$ =
"c:/suchen.txt"
WordBasic.ChDir pfautor$
ReDim sw__$(3)
Open pfinout$ For Input As 1
Line Input #1, sw__$(0)
If sw__$(0) = "" Then sw__$(0) = pfautor$: GoTo WEITR
Line Input #1, sw__$(1)
WEITR:
Close
start:
If nd = 1 Then
Set dlg2 = WordBasic.DialogRecord.FileOpen(False)
WordBasic.CurValues.FileOpen dlg2
dlg2.Name = "*.txt"
On Error Resume Next
WordBasic.Dialog.FileOpen dlg2
pfad$ = WordBasic.[Files$](".")
Close
Open pfinout$ For Output As 1
'Open "c:/ww2/werte/suchen.txt" For Output As #1
'Print #1,
Date$()
Print #1, pfad$
dn__$(n) = WordBasic.[Files$]("*.txt")
While dn__$(n) <> ""
n = n + 1
dn__$(n) = WordBasic.[Files$]()
WordBasic.PrintStatusBar
dn__$(n), n
Wend
For i = 0 To n
While InStr(dn__$(i), "/") <> 0
dn__$(i) = Mid(dn__$(i), InStr(dn__$(i), "/") + 1)
Wend
Next
WordBasic.BeginDialog 140, 89, 356, 260, "Microsoft Word"
WordBasic.Text
10, 6, 188, 19, "Wählen Sie eine Datei aus!"
WordBasic.ListBox 15, 30, 312, 183,
dn__$(), "lstbx"
WordBasic.OKButton 133, 231, 88, 21
WordBasic.CancelButton 22, 230, 95, 24
WordBasic.EndDialog
Set dlg1 = WordBasic.CurValues.UserDialog
WordBasic.CurValues.UserDialog dlg1
If Not WordBasic.Dialog.UserDialog(dlg1) Then
GoTo ende
End If
dn$ = dn__$(dlg1.lstbx)
Print #1, dn$
Close
Else
WordBasic.ChDir sw__$(0)
dn$ = sw__$(1)
End If
WEITER:
WordBasic.BeginDialog
688, 300, "Microsoft Word"
WordBasic.Text 191, 11, 350, 19, "Die
zu durchsuchende Datei ist " + dn$
WordBasic.Text 27, 45, 536, 27,
"Geben Sie eine oder mehrere Zeichenfolgen ein und trennen Sie sie durch +
(Pluszeichen)"
WordBasic.Text 27, 87, 437, 15, "Alle
Ausdrücke sollen in einem Paragraph enthalten sein."
WordBasic.TextBox 26, 113, 345, 18, "tbx1"
WordBasic.Text 34, 144, 274, 13, "Einer der
Ausdrücke soll enthalten sein."
WordBasic.TextBox 32, 165, 345, 18, "tbx2"
WordBasic.Text 32, 195, 383, 13, "Die
folgenden Ausdrücke sollen nicht enthalten sein."
WordBasic.TextBox 37, 215, 345, 18, "tbx3"
WordBasic.CheckBox 360, 261, 170, 22, "neue
Datei suchen", "chbx"
WordBasic.OKButton 45, 263, 83, 21
WordBasic.CancelButton 189, 265, 83, 21
WordBasic.EndDialog
Set dlg1 = WordBasic.CurValues.UserDialog
Dim dlg As Object: Set dlg = WordBasic.CurValues.UserDialog
WordBasic.CurValues.UserDialog dlg
If Not WordBasic.Dialog.UserDialog(dlg) Then GoTo ende
nd = dlg.chbx
If dlg.chbx = 1 Then GoTo start
If dlg.tbx1 > "" Then kr1 = 1
If dlg.tbx2 > "" Then kr2 = 1
If dlg.tbx3 > "" Then kr3 = 1
If kr1 Then
zk$ = dlg.tbx1
n = 0
If InStr(dlg.tbx1, "+") <> 0 Then
While InStr(zk$, "+")
z = InStr(zk$, "+")
n = n + 1
zku__$(n) = WordBasic.[Left$](zk$, z - 1)
zk$ = Mid(zk$, z + 1)
Wend
End If
n = n + 1
zku__$(n) = zk$
End If
For i = 1 To n
If WordBasic.[Right$](zku__$(i), 1) = "#" Then
ert = ert + 1
zkurt__$(ert) =
WordBasic.[Left$](zku__$(i), Len(zku__$(i)) - 1)
Else
eu = eu + 1: ee = ee + 1: zkee__$(ee)
= zku__$(i)
zku__$(eu) = zku__$(i)
End If
Next
If ert > 0 Then
For i = 1 To ert
For j = 1 To zrt 'Wö.m.Rautenendung
zkurau__$(i, j) = zkurt__$(i) + zkm__$(j)
ee = ee + 1: zkee__$(ee) = zkurau__$(i, j)
Next
Next
End If
If kr2 Then
zk$ = dlg.tbx2
If InStr(dlg.tbx2, "+") <> 0 Then
While InStr(zk$, "+")
z = InStr(zk$, "+")
o = o + 1
zko__$(o) = WordBasic.[Left$](zk$,
z - 1)
zk$ = Mid(zk$, z + 1)
Wend
End If
o = o + 1
zko__$(o) = zk$
End If
For i = 1 To o
If WordBasic.[Right$](zko__$(i), 1) = "#" Then
ort = ort + 1
zkort__$(ort) = WordBasic.[Left$](zko__$(i), Len(zko__$(i)) - 1)
Else
eo = eo + 1
zko__$(eo) = zko__$(i): ee = ee + 1: zkee__$(ee) = zko__$(i)
End If
Next
If ort > 0 Then
For i = 1 To ort
For j = 1 To zrt
zkorau__$(i, j) = zkort__$(i) + zkm__$(j)
ee = ee + 1: zkee__$(ee) = zkorau__$(i, j)
Next
Next
End If
If kr3 Then
zk$ = dlg.tbx3
If InStr(dlg.tbx3, "+") <> 0 Then
While InStr(zk$, "+")
z = InStr(zk$, "+")
p = p + 1
zkn__$(p) = WordBasic.[Left$](zk$, z - 1)
zk$ = Mid(zk$, z + 1)
Wend
End If
p = p + 1
zkn__$(p) = zk$
End If
For i = 1 To p
If WordBasic.[Right$](zkn__$(i), 1) = "#" Then
prt = prt + 1
zknrt__$(prt) = WordBasic.[Left$](zkn__$(i), Len(zkn__$(i)) - 1)
Else
ep = ep + 1
zkn__$(ep) = zkn__$(i)
End If
Next
If prt > 0 Then
For i = 1 To prt
For j = 1 To zrt
zknrau__$(i, j) = zknrt__$(i) + zkm__$(j)
Next
Next
End If
If kr1 Then
If kr2 And kr3 Then
f = 4
ElseIf kr2 Then
f = 2
ElseIf kr3 Then
f = 3
Else
f = 1
End If
Else
If kr2 And kr3 Then
f = 6
ElseIf kr3 Then
f = 7
Else
f = 5
End If
End If
Select Case f
Case 1
Close
Open dn$ For Input As 1
While Not EOF(1)
Line Input #1, ze$
UPU
If a Then
a = 0
an = an + 1: WordBasic.Insert Mid(Str(an), 2) + Chr(9)
WordBasic.Insert
ze$: UPE
End If
Wend
Case 2
Open dn$ For Input As 1
While Not EOF(1)
Line Input #1, ze$
UPU
If a Then
a = 0
UPO
End If
If b Then
b = 0
an = an + 1: WordBasic.Insert Mid(Str(an), 2) + Chr(9)
WordBasic.Insert ze$: UPE
End If
Wend
Case 3
Open dn$ For Input As 1
While Not EOF(1)
Line Input #1, ze$
UPU
If a Then
a = 0
UPN
End If
If c Then
c = 0
an = an + 1: WordBasic.Insert Mid(Str(an), 2) + Chr(9)
WordBasic.Insert ze$: UPE
End If
Wend
Case 4
Open dn$ For Input As 1
While Not EOF(1)
Line Input #1, ze$
UPU
If a Then
a = 0
UPO
End If
If b Then
b = 0
UPN
End If
If c Then
c = 0
an = an + 1: WordBasic.Insert Mid(Str(an), 2) + Chr(9)
WordBasic.Insert ze$: UPE
End If
Wend
Case 5
Open dn$ For Input As 1
While Not EOF(1)
Line Input #1, ze$
UPO
If b Then
b = 0
an = an + 1: WordBasic.Insert Mid(Str(an), 2) + Chr(9)
WordBasic.Insert ze$: UPE
End If
Wend
Case 6
Open dn$ For Input As 1
While Not EOF(1)
Line Input #1, ze$
UPO
If b Then
b = 0
UPN
End If
If c Then
c = 0
an = an + 1: WordBasic.Insert Mid(Str(an), 2) + Chr(9)
WordBasic.Insert ze$: UPE
End If
Wend
Case Else
Open dn$ For Input As 1
While Not EOF(1)
Line Input #1, ze$
UPN
If c Then
c = 0
an = an + 1: WordBasic.Insert Mid(Str(an), 2) + Chr(9)
WordBasic.Insert ze$: UPE
End If
Wend
End Select
ende:
ENDERSETZUNG
End Sub
'000000000000000000000000000
Private Sub UPU()
Dim i
Dim j
Dim und
Dim n1
For i = 1 To ert
For j = 1 To zrt
If InStr(ze$, zkurau__$(i, j)) <> 0 Then
und = und + 1: e = e + 1:
zk__$(e) = zkurau__$(i, j): j = zrt
End If
Next
Next
For i = 1 To eu
If InStr(ze$, zku__$(i)) = 0 Then
i = n: n1 = 1
Else
und = und + 1: e = e + 1: zk__$(e)
= zku__$(i)
End If
Next
If ert + eu = und Then
a = 1
Else
e = 0
End If
und = 0
End Sub
'-------------------------
Private Sub UPO()
Dim i
Dim j
For i = 1 To ort
For j = 1 To zrt
If InStr(ze$, zkorau__$(i, j)) <> 0 Then
b = 1: e = e + 1:
zk__$(e) = zkorau__$(i, j): j = zrt
End If
Next
Next
If b Then GoTo ende
For i = 1 To eo
If InStr(ze$, zko__$(i)) <> 0 Then
b = 1: e = e + 1:
zk__$(e) = zko__$(i): i = eo
End If
Next
ende:
If b = 0 Then e = 0
End Sub
'---------------------
Private Sub UPN()
Dim i
Dim j
For i = 1 To prt
For j = 1 To zrt
If InStr(ze$, zknrau__$(i, j)) <> 0 Then
c = 2: j = zrt
End If
Next
Next
If c Then GoTo ende
For i = 1 To ep
If InStr(ze$, zkn__$(i)) <> 0 Then
c = 2: i = ep
End If
Next
ende:
If c = 2 Then
c =
0 'vorhanden
Else
c = 1
'nicht vorhanden
End If
End Sub
'---------------------
Private Sub UPE()
Dim i
WordBasic.ParaUp
WordBasic.EditFindClearFormatting
For i = 1 To e
WordBasic.PrintStatusBar zk__$(i)
WordBasic.EditReplaceFont Points:="", Underline:=-1, Color:=6, StrikeThrough:=-1, Superscript:=-1, Subscript:=-1, Hidden:=-1, SmallCaps:=-1, AllCaps:=-1, Spacing:="", Position:="", Kerning:=-1, KerningMin:="", Tab:="0", Font:="(normaler Text)", Bold:=-1, Italic:=-1
WordBasic.EditReplace Find:=zk__$(i), Replace:=zk__$(i), Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceAll:=1, Format:=1, Wrap:=0
Next
WordBasic.ParaDown
WordBasic.InsertPara
WordBasic.CharLeft 2, 1: WordBasic.FormatFont Color:=1: WordBasic.CharRight
e = 0
End Sub
'------------------------
Private Sub
ENDERSETZUNG()
Dim i
WordBasic.EditFindClearFormatting
For i = 1 To ee
WordBasic.PrintStatusBar zkee__$(i)
WordBasic.EditReplaceFont Points:="", Underline:=-1, Color:=6, StrikeThrough:=-1, Superscript:=-1, Subscript:=-1, Hidden:=-1, SmallCaps:=-1, AllCaps:=-1, Spacing:="", Position:="", Kerning:=-1, KerningMin:="", Tab:="0", Font:="(normaler Text)", Bold:=-1, Italic:=-1
WordBasic.EditReplace Find:=zkee__$(i), Replace:=zkee__$(i), Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceAll:=1, Format:=1, Wrap:=1
Next
End Sub