home *** CD-ROM | disk | FTP | other *** search
- Sub MAIN
- 'Version 1.3 1998
- 'Word-Basic Makro zur Konvertierierung von OnTime-Log-Dateien
- 'in Word- bzw. Excel-Tabellen. Resultat ist in der Zwischenablage.
- '
- 'Copyright: Joachim von Jena jvjena@cs.tu-berlin.de, Freeware
- 'ohne jede Gewaehr
- '
- '
- Sanduhr 1
- AnzeigeAktualisieren
- CurDir$ = Files$(".") + Chr$(92)
- If Val(AbrufenSysteminfo$(24)) >= 4 Then
- 'If 3 >= 4 Then
- OntimeReg$ = "HKEY_CURRENT_USER\Software\Microsoft\Word\" + \
- AnwInfo$(2) + "\" + "ONTIME"
- WinVer$ = "WIN32"
- Else
- OntimeReg$ = "ONTIME"
- End If
- If WinVer$ = "WIN32" Then
- If GetPrivateProfileString$(OntimeReg$, "OnTime-Verzeichnis", "") = "" \
- Then
- OntimeDir$ = "C:\ONTIME\"
- Else
- OntimeDir$ = GetPrivateProfileString$(OntimeReg$, \
- "OnTime-Verzeichnis", "")
- End If
- Else
- If GetProfileString$(OntimeReg$, "OnTime-Verzeichnis") = "" Then
- OntimeDir$ = "C:\ONTIME\"
- Else
- OntimeDir$ = GetProfileString$(OntimeReg$, \
- "OnTime-Verzeichnis")
- End If
- End If
- OntimeExe$ = UCase$(OntimeDir$ + "ONTIME.EXE")
- If UCase$(Files$(OntimeExe$)) <> OntimeExe$ Then
- Begin Dialog BenutzerDialog 370, 135, "Verzeichnis von ONTIME.EXE"
- Text 17, 10, 328, 79, "Bitte passen Sie das Verzeichnis, " + \
- "in dem sich ONTIME.EXE befindet, an: dieses Verzeichnis " + \
- "muss mit einem " + Chr$(34) + "\" + Chr$(34) + " enden."
- TextBox 12, 65, 330, 18, .Ontdir
- OKButton 289, 85, 55, 21
- CancelButton 241, 110, 102, 21
- End Dialog
- Dim Dlg As BenutzerDialog
- dlg.Ontdir = OntimeDir$
- x = Dialog(dlg)
- OntimeDir$ = dlg.Ontdir
- If WinVer$ = "WIN32" Then
- SetPrivateProfileString OntimeReg$, "OnTime-Verzeichnis", \
- OntimeDir$, ""
- Else
- SetProfileString OntimeReg$, "OnTime-Verzeichnis", \
- OntimeDir$
- End If
- OntimeExe$ = UCase$(OntimeDir$ + "ONTIME.EXE")
- End If
- ChDefaultDir OntimeDir$, 0
- Temp$ = Files$("*.log")
- ZΣhler = - 1
- While Temp$ <> ""
- ZΣhler = ZΣhler + 1
- Temp$ = Files$()
- Wend
- If ZΣhler > - 1 Then
- Dim Liste$(ZΣhler)
- 'Liste$(0) = Files$("*.log")
- lpathname$ = Files$("*.log")
- Liste$(0) = logname$(lpathname$)
- For i = 1 To ZΣhler
- 'Liste$(i) = Files$()
- lpathname$ = Files$()
- Liste$(i) = logname$(lpathname$)
- Next i
- SortDatenfeld Liste$()
- Else
- MsgBox "Das Ontime-Verzeichnis enthΣlt keine LOG-Dateien."
- Goto bye
- End If
-
- Begin Dialog BenutzerDialog 390, 190, "Log-Dateiauswahl"
- Text 27, 8, 161, 13, "Liste der Logdateien:"
- ListBox 0, 0, 240, 140, Liste$(), .Logdatei
-
- OKButton 300, 89, 55, 21
- CancelButton 260, 115, 96, 21
- CheckBox 176, 147, 179, 16, "Konversion sichtbar", .KontrollkΣstchen1
- End Dialog
-
- Dim Dlg As BenutzerDialog
- Zeit0 = Jetzt()
- x = Dialog(dlg)
- If x = 0 Then Goto bye
- LogDateiName$ = Liste$(dlg.Logdatei)
- If dlg.KontrollkΣstchen1 = 1 Then AnzeigeAktualisieren
- Datei╓ffnen .Name = Liste$(dlg.Logdatei), .UmwandlungBestΣtigen = 0, \
- .Schreibgeschⁿtzt = 0, .ZuletztBearbErweitern = 0, .KennwortDok = "", \
- .KennwortDokVorlage = "", .Wiederherstellen = 0, .KennwortDokSchreiben \
- = "", .KennwortDokVorlageSchreiben = ""
- BearbeitenErsetzen .Suchen = " ", .Ersetzen = "|", .Richtung = 0, \
- .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
- .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
- BearbeitenErsetzen .Suchen = " ", .Ersetzen = "|", .Richtung = 0, \
- .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
- .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
- BearbeitenErsetzen .Suchen = " ", .Ersetzen = "|", .Richtung = 0, \
- .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
- .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
- BearbeitenErsetzen .Suchen = " ", .Ersetzen = "|", .Richtung = 0, \
- .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
- .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
- BearbeitenErsetzen .Suchen = " ", .Ersetzen = "|", .Richtung = 0, \
- .Gro▀Kleinschreibung = 0, .GanzesWort = 0, .Mustervergleich = 0, \
- .Reserviert23 = 0, .AllesErsetzen, .Format = 0, .Textflu▀ = 1
- BeginnDokument
- Print "Konversion von " + Chr$(34) + LogDateiName$ + Chr$(34) + \
- " lΣuft, bitte warten ..."
- AbsatzUnten 1, 1
- If Len(AbrufenTextmarke$("\Sel")) = 46 Then
- logtype$ = "alt"
- ElseIf Len(AbrufenTextmarke$("\Sel")) = 58 Then
- logtype$ = "neu"
- End If
- If logtype$ = "neu" Then
- ZeichenRechts
- FormatVerbindung
- Else
- ZeichenRechts
- ZeichenLinks
- Einfⁿgen "|Verbindung:"
- ZeichenRechts
- FormatVerbindung
- logtype$ = "neu"
- End If
- BearbeitenAllesMarkieren
- CurrentFeldTrZ$ = FeldTrennzeichen$()
- FeldTrennzeichen$ "|"
- If logtype$ = "alt" Then
- LogSpalten$ = "9"
- Else
- LogSpalten$ = "10"
- End If
- TextInTabelle .UmwandelnVon = "3", .AnzSpalten = LogSpalten$, \
- .AnzTabZeilen = "91", .AnfSpaltenbreite = "Auto", .Format = "0", \
- .Zuweisen = "167"
- FeldTrennzeichen$ CurrentFeldTrZ$
- BeginnDokument
- TabelleSpaltenBreite .SpaltenBreite = "0,87 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "2,25 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "1,86 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "1,86 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "1,86 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "0,45 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "0,45 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "0,87 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- If logtype$ = "alt" Then
- TabelleSpaltenBreite .SpaltenBreite = "1,18 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .LinealArt = "0"
- ElseIf logtype$ = "neu" Then
- TabelleSpaltenBreite .SpaltenBreite = "1,18 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .NΣchsteSpalte, .LinealArt = "0"
- TabelleSpaltenBreite .SpaltenBreite = "4,5 cm", .AbstandZwischenSpalten \
- = "0,2 cm", .LinealArt = "0"
- End If
- TabelleTabelleMarkieren
- FormatAbsatz .Ausrichtung = 2
- FormatZeichen .Punkt = "9", .Schriftart = "Courier New"
- TabelleAutoFormat .Format = 11, .Rahmen = 1, .Schattierung = 0, \
- .Schriftart = 0, .Farbe = 0, .OptimaleBreite = 0, \
- .Zeilenⁿberschriften = 1, .ErsteSpalte = 1, .LetzteZeile = 0, \
- .LetzteSpalte = 0
- BeginnDokument
- Tabelle▄berschriften
- TabelleTabelleMarkieren
- BearbeitenKopieren
- DateiSchlie▀en 2
- Zeit1 = Jetzt()
- Print "Die " + Chr$(34) + LogDateiName$ + Chr$(34) + \
- "-Tabelle steht jetzt in der Zwischenablage, " + \
- "Konversionsdauer: " + Str$(Minute(Zeit1 - Zeit0)) + \
- " min, " + Str$(Sekunde(Zeit1 - Zeit0)) + "sek"
- bye:
- ChDefaultDir CurDir$, 0
- End Sub
- Function logname$(lpathname$)
- While Not InStr(lpathname$, Chr$(92)) = 0
- lpathname$ = Mid$(lpathname$, InStr(lpathname$, Chr$(92)) + 1)
- Wend
- logname$ = lpathname$
- End Function
-
- Sub FormatVerbindung
- AbsatzUnten 1, 1
- While Len(AbrufenTextmarke$("\Sel")) > 3
- Abbrechen
- ZeichenLinks
- ZeichenRechts 52
- AbsatzUnten 1, 1
- TrennZeichen = InStr(AbrufenTextmarke$("\Sel"), "|")
- If TrennZeichen = 0 Then
- AbsatzUnten
- ZeichenLinks
- Einfⁿgen Chr$(124)
- ZeichenRechts
- Else
- ZeichenLinks
- ZeichenRechts Trennzeichen
- AbsatzUnten 1, 1
- While Len(AbrufenTextmarke$("\Sel")) > 1
- TrennZeichen = InStr(AbrufenTextmarke$("\Sel"), "|")
- If Trennzeichen > 0 Then
- ZeichenLinks
- TrennZeichen = TrennZeichen - 1
- ZeichenRechts TrennZeichen
- BearbeitenL÷schen
- Einfⁿgen " "
- AbsatzUnten 1, 1
- Else
- ZeichenRechts
- End If
- Wend
- End If
- AbsatzUnten 1, 1
- Wend
- End Sub
-
-
-