ࡱ; j\  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`bcdefghiklmRoot Entry  !"#%&'(*+,-./ B^$WTextStarWriter 4.08W.\) SfxDocumentInfo Werner Roth 0p Werner Roth 0p uK SVGDI*.A F 88W.ANArialB NCourier New;CourierNArialB  1 Umlaut Konvertier MakrosNTimes New Roman;Times NArialB NTimes New Roman;Times  `GGDiese Makrobiliothek fat Tools zum konvertieren von Umlauten zusammen. _BFF'--------------------------------------------------------------------- (_' UmlautKonvert _| FF'--------------------------------------------------------------------- ^ DE'Makro zum konvertieren von Umlauten, ob man nun verschicken mchte, ^ DE'Makro zum konvertieren von Umlauten, ob man nun verschicken mchte, F --'also Umlaute durch Umschrift ersetzen mchte ? &&'oder kryptische Dateien bekommen hat. & 'Konvertiert: + ' zum Verschicken: 2*' - Umlaute in Umschrift .G' - Umlaute nach TeX $d ' erhalten: 8' - Unix Umlaute in Win-Umlaute S::' - falsche Winword Umlaute in Win-Umlaute (unvollstndig)  _FF'--------------------------------------------------------------------- -' UmschriftToUmlaut: _FF'--------------------------------------------------------------------- [/BB' Dieses Makro tauscht Umschrift also Ae, Oe Ue in Umlaute , , `LGG' Damit "bauen" nicht in "ban" getauscht wird, gehe ich wie folgt vor: `iGG' - Gngige Worte wie fuer/fr werden in einer Positivliste gespeichert `GG' und ersetzt. Achtung! Es wird Gro-/Kleinschreibung bercksichtigt. _FF' - In einem zweiten Schritt werden alle Umlaute gesucht. Das Ersetzen :!!' mu jeweils besttigt werden. b II' Leider ist das "Suchen&Ersetzen" von Umschrift gerade bei "ue" und "ss" U!<<' nervig aber mit diesem Makro schon mal besser als von Hand [#BB' Eventuell wird dieses Makro auch mal eine Negativliste bekommen. 4$' eQ%LL' ACHTUNG: Erstellt im StarWriter Arbeitsverzeichnis eine Datei WORTLIST.TXT n& _(FF'--------------------------------------------------------------------- % ) 'TexToUmlaut _=*FF'--------------------------------------------------------------------- GZ+..' Dieses Makro tauscht LaTexUmlaute in Umlaute "w, ' "A -> "- ' "O -> ". ' "U -> "/ ' "s -> d0KK' die Schwierigkeit dabei ist die Umlaute von "echten" Anfhrungszeichen zu )2' unterscheiden. u%3\\' Gegebenenfalls wird nachgefragt, meist drfte das MAkro jedoch ohne Nachfrage durchlaufen. B4 5 M644Um das Makro in die swriter-Bibliotheken einzufgen: /8Dieses Dokument ffnen 1.9Extras|Makro [Verwalten] ,K:Ordner Bibliotheken ,h;Bibliothek: swriter <[Neu] V===(Namen ggf. ndern -festhalten und Bibliothek anklicken) &> Ordner Module ?mUmlautKonvert, ToUmlaut, JaNeinDlg, UmschriftToUmlautStartDlg und UmlautKonvertDlg mit der Maus auf die neue Bibliothek ziehen (ggf. dabei drcken) @n6UmlautKonvert, ToUmlaut, JaNeinDlg, UmschriftToUmlautStartDlg und UmlautKonvertDlg mit der Maus auf die neue Bibliothek ziehen (ggf. dabei drcken)SBX sb  Standard StarBASICSBX ARSBX AR SBX AR,CV eX  JaNeinDlgDialog\a VCControls  0 h@4JaButtNeinButMainTextCommandButton3 JaNeinDlgXXX'X5XI@fX:@<\ XXXX&.@ <XXX.@@tXXX.@RXXX@yX@X!@ MS Sans SerifX@ X@X@%X@ Programm&endeUmschrift ersetzen&Ja&Nein3Soll dieses Vorkommen durch ein ersetzt werden?XX!X9XBXM:@XXXX&@,X@KX@jX@X$$@X%%@q2Standard.UmschiftToUmlaut.OnClickJaNeinDlgNeinButt3Standard.UmschiftToUmlaut.OnClickJaNeinDlgAbbrechen0Standard.UmschiftToUmlaut.OnClickJaNeinDlgJaButtXXFXX&&@X''@X((@X))@X**@X++@=X,,@]X--@}X22@X33@X66@X;;@ StarOffice2Standard.UmschiftToUmlaut.OnClickJaNeinDlgNeinButt StarOffice3Standard.UmschiftToUmlaut.OnClickJaNeinDlgAbbrechen StarOffice0Standard.UmschiftToUmlaut.OnClickJaNeinDlgJaButtXXZX$^%DcKj;[{ Pta$$%%&&''(())**++,,--223366SBX AR SBX AR SBX ARCV n  CommandButtonLa %%;;SBX AR SBX AR SBX ARCV n  CommandButtonFa %%;;SBX AR SBX AR SBX ARCV n  CommandButtonLa %%;;SBX AR SBX AR SBX ARCV v LabeldaSBX AR SBX AR SBX ARCV e UmschriftToUmlautStartDlgDialogz a  VCControls  : 0!t @ .  NeuBegriff NeuListBut NeuBegriffButCommandButton1Label2CommandButton3ListBoxLabel1 LoeschBegriffBut StartBut HilfBut UmschriftToUmlautStartDlgXXX.XAXUXaXuXXXXX@| XF@ x  P XXXX&X. @ 8  < 8  XXXX&X.X6X>XFXNXVF@ @$ XXXX&X.F@\ hXXXX&X.@X@>X!@k MS Sans SerifX@X@X@X #@ Umschrift ersetzenNeuLschenBegriff &lschenNeuer Begriff: Positivliste:Programm&abbruch&Start&Neuer Begriff Umschrift/Umlaut &Hilfe  Positivliste (Umschrift/Umlaut):XX&X/X<XRXfXyXXXXX@X v@ {XXXX&X.X6X>XFXNJ@X@X@/X@OX$$@oX%%5@=Standard.UmschiftToUmlaut.OnClickUToUStartDlgLoeschBegriffBut4Standard.UmschiftToUmlaut.OnClickUToUStartDlgHilfButOnClickStartBut5Standard.UmschiftToUmlaut.OnClickUToUStartDlgStartBut:Standard.UmschiftToUmlaut.OnClickUToUStartDlgNeuBegriffButXXQXXXX&&@X''@X((@X))@0X**@PX++D@&Standard.ChangeUmschift.OnClickListBoxXX:,,@X--T@6Standard.UmschiftToUmlaut.OnMouseUpUToUStartDlgListBoxXX22@@X33@`X66@X;;@` StarOffice=Standard.UmschiftToUmlaut.OnClickUToUStartDlgLoeschBegriffBut StarOffice4Standard.UmschiftToUmlaut.OnClickUToUStartDlgHilfBut StarOffice:Standard.UmschiftToUmlaut.OnClickUToUStartDlgNeuBegriffBut StarOffice6Standard.UmschiftToUmlaut.OnMouseUpUToUStartDlgListBox &Standard.ChangeUmschift.OnClickListBox StarOffice5Standard.UmschiftToUmlaut.OnClickUToUStartDlgStartButXXeXXX$F&x5Wve9zj * J Pa  $$%%&&''(())**++,,--223366SBX AR SBX AR SBX AR- CV z! ListBoxa yaendern/ndern ausser/auer dafuer/dafrdass/da faellt/flltfuehren/fhrenfuer/fr gaebe/gbegroesser/grer gross/grohaeltst/hltst haengt/hngtkoennen/knnenkoennte/knntekoennten/knnten laesst/lt laesst/ltmoechte/mchtemuessen/mssen muesste/mtemuessten/mtenmuss/munaechsten/nchsten ueber/ber waere/wre wuerde/wrde++--;;SBX AR SBX AR SBX ARCV ~ TextBoxdaSBX AR SBX AR SBX ARCV n  CommandButtonFa  %%;;SBX AR SBX AR SBX ARCV n  CommandButtonFa  %%;;SBX AR SBX AR SBX ARCV n  CommandButtonFa  %%;;SBX AR SBX AR SBX ARCV n  CommandButton@a SBX AR SBX AR SBX ARCV v Label:a SBX AR SBX AR SBX ARCV v Label:aSBX AR SBX AR SBX ARCV n  CommandButtonFa    %%;;SBX AR SBX AR SBX ARCV ev UmlautKonvertDlgDialogca VCControls  @ 0' @ Label2 ToUmschriftToTexToUmlautStartBut AbbruchButUnixToUmlautKonvertDlgLabel1  WinWordToXXX+X6XDXRXbXnXX@;! XR@!xXXXX&X.X6 j@!xH( XXXX&X.X6X>XFF@Q" i@XXXX&X.F@"] ,XXXX&X. @ $Umlaute umsetzen0Umlaute (,,,) --> Umschrift (Ae, Oe, Ue, ss)2Umlaute (,,,) ==> Umschrift (Ae, Oe, Ue, ss)#Unix (, , ) ===> Win (, , )&StartProgramm&abbruch)Umlaute (,,,) ==> TeX ("A,"O,"U,"S)habe ich bekommen...zum Verschicken... Winword () ==> Win (,,)XX$XZXXXXX X&X>j@$XXXX&X.X6X>XF@$X@$X@%X@3%X$$@S%X%%S@%5UmlautKonvert.UmlautKonvert.OnClickUmlautKonvertStartXX&&@%X''@%X((@&X))@2&X**@R&X++@r&X,,@&X--@&X22@&X33@&X66@'X;;]@{' StarOffice5UmlautKonvert.UmlautKonvert.OnClickUmlautKonvertStartX]%w{v6Vv P'a$$%%&&''(())**++,,--223366SBX AR SBX AR SBX ARCV t  OptionButton@a SBX AR SBX AR SBX ARCV t  OptionButton:aSBX AR SBX AR SBX ARCV t  OptionButton:aSBX AR SBX AR SBX ARCV t  OptionButton:a  SBX AR SBX AR SBX ARCV n  CommandButtonLa %%;;SBX AR SBX AR SBX ARCV n  CommandButton@a SBX AR SBX AR SBX ARCV v Label:aSBX AR SBX AR SBX ARCV v Label:aSBX AR SBX AR SBX ARSBX bm e  UmlautKonvertStarBASICModuleSBX ARSSBX em. UmlautKonvertSBX em:OnClickUmlautKonvertStartRdSBX emcUKChangeBuchstabecUmlaut @cGross @cKlein @TbSBX emRUKChangeZeichencUmlaut @cAender @dgmSBX AR SBX ARBM MN UmlautKonvertSC ' Werner Roth 1997 ' StarOffice 4.0 msste aber auch mit StarWriter 3.0 laufen. 'Makro zum konvertieren von Umlauten, ob man nun verschicken mchte, 'also Umlaute durch Umschrift ersetzen mchte 'oder kryptische Dateien bekommen hat. 'Konvertiert: ' zum Verschicken: ' - Umlaute in Umschrift ' - Umlaute nach TeX ' erhalten: ' - Unix Umlaute in Win-Umlaute ' - falsche Winword Umlaute in Win-Umlaute (unvollstndig) 'SUBs: ' OnClickUmlautKonvertStart OnClick Event des Startbuttons ' UKChangeBuchstabe tauscht Buchstaben (achtet auf Gro-Kleinschreibung) ' UKChangeZeichen tauscht Zeichen Sub UmlautKonvert IF ActiveModule.Name <> "StarWriter" THEN MsgBox("Umlautkonvertierungen knnen Sie nur innerhalb eines Textdokuments anwenden.",16,"Fehler") EXIT SUB ENDIF UmlautKonvertDlg.Show UmlautKonvertDlg.UnLoad End Sub Sub OnClickUmlautKonvertStart UmlautKonvertDlg.Hide Selection.ActionStart 'sichtbare Formatierung des Dokumentes aus WITH ActiveWindow.SearchSettings .Backward = false '(Suchrichtung Rckwrts) .InSelection = false ' (Nur in Selektion suchen) .CaseSensitive = false ' (Exakte Suche) .RegExp = false ' (Suche nach regulren Ausdrcken) .WordOnly = false ' (Nur ganze Wrter suchen) END WITH IF UmlautKonvertDlg.ToUmlaut.Value THEN 'Umlaute in Umschrift umsetzen 'Erster Parameter mu ein Grobuchstabe sein! UKChangeBuchstabe "","Ae","ae" UKChangeBuchstabe "","Oe","oe" UKChangeBuchstabe "","Ue","ue" UKChangeZeichen "", "ss" UKChangeZeichen "", chr(34) 'Anfhrungszeichen unten UKChangeZeichen "", chr(34) 'Anfhrungszeichen oben ELSEIF UmlautKonvertDlg.ToTex.Value THEN 'Umlaute in LaTeX-Notation umsetzen UKChangeBuchstabe "",chr(34)+"A",chr(34)+"a" UKChangeBuchstabe "",chr(34)+"O",chr(34)+"o" UKChangeBuchstabe "",chr(34)+"U",chr(34)+"u" UKChangeZeichen "", chr(34)+"s" UKChangeZeichen "", chr(34) 'Anfhrungszeichen unten UKChangeZeichen "", chr(34) 'Anfhrungszeichen oben ELSEIF UmlautKonvertDlg.WinWordTo.Value THEN ' Umlaute in falsch konvertierten Winword Dokumenten wiederherstellen. ActiveWindow.SearchSettings.CaseSensitive = true ' (Exakte Suche) 'ActiveWindow.ReplaceAll("","") 'ActiveWindow.ReplaceAll("","") 'ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") 'Anfhrungszeichen ActiveWindow.ReplaceAll("","") 'Abfhrungszeichen ActiveWindow.ReplaceAll("","") 'Gedankenstriche ELSE 'Unix umsetzen 'Umlaute aus Unix-Emails konvertieren ActiveWindow.SearchSettings.CaseSensitive = true ' (Exakte Suche) ActiveWindow.ReplaceAll("@xx@","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("_","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") ActiveWindow.ReplaceAll("","") Print "Bei groem nach ' -' suchen!" ENDIF Selection.ActionEnd 'sichtbare Formatierung des Dokumentes an ActiveWindow.Refresh() 'Bild neu aufbauen End Sub Sub UKChangeBuchstabe (cUmlaut, cGross, cKlein) 'SUB von ChangeUmlaut Selection.Text.GoToStartOfDoc 'Starte ganz oben ActiveWindow.Search cUmlaut 'suche den auszutauschenden Buchstaben a$ = Selection.Text.Value Do While len(a$) <> 0 'Was gefunden? If a$ = cUmlaut then 'sind die Buchstaben genau gleich ""<>""? Selection.Text.Insert( cGross ) 'Dann die Gross-Maske Else 'sonst Selection.Text.Insert( cKlein ) 'Kleinbuchstben Endif ActiveWindow.RepeatSearch 'Suche weiter a$ = Selection.Text.Value Loop END Sub Sub UKChangeZeichen (cUmlaut, cAender) 'SUB von ChangeUmlaut UKChangeBuchstabe (cUmlaut, cAender, cAender) End Sub PCE  A G>ABAE^  +        !    "    #    $    &   G)AAA*A A!A"+A#A$A%,A&A'(-A)B"*(.A+B"*(E^ ,  G1AB"*A-B"*A.2A B"*A/B"*A03A#B"*A1B"*A24A&B"*A3(5A)B"*(6A+B"*(E^ 4  G9   5 = A6A78 > A9A:8 ? A;A<8 @ A=A&8 A A>A)8 B A?A+8 C A@AA8 E^F   5 G ABA8 H ACA 8 I ADA#8 J AEA78 K AFA:8 L AGA<8 M AHA&8 NAI-P P J Q K R+TV O P W  Q X- O  Y-RB GgZ- G[ O  S E5] O  S _ T `- O  aEb+df   g+STU +x$-6<>ADV[`egjmoruwz '.3BIMTaiUmlautKonvertActiveModuleNameStarWriterUmlautkonvertierungen knnen Sie nur innerhalb eines Textdokuments anwenden.FehlerMsgBoxUmlautKonvertDlgShowUnLoadOnClickUmlautKonvertStartHideSelectionActionStartActiveWindowSearchSettingsBackwardfalseInSelectionCaseSensitiveRegExpWordOnlyToUmlautValueAeaeUKChangeBuchstabePAR2PAR3PAR4OeoeUeuessUKChangeZeichenchrToTexAaOoUusWinWordTotrueReplaceAll@xx@_Bei groem nach ' -' suchen!ActionEndRefreshcUmlautcGrosscKleinTextGoToStartOfDocSearchlenInsertRepeatSearchcAenderSBX bm T ToUmlautStarBASICModuleSBX AR SBX em2UmschriftToUmlauthSBX em<OnClickUToUStartDlgStartButj SBX emA OnClickUToUStartDlgNeuBegriffButd SBX emD#OnClickUToUStartDlgLoeschBegriffBut% SBX em7OnClickJaNeinDlgJaButt. SBX em9OnClickJaNeinDlgNeinButtY SBX em:OnClickJaNeinDlgAbbrechen SBX em=OnMouseUpUToUStartDlgListBox SBX em;OnClickUToUStartDlgHilfBut6 SBX em, TexToUmlaut< SBX em1UToUChangeAeOeUe^ SBX emb UToUChangeOne cUmschrift@cGross@cKlein@2 SBX em\ TToUChangeOnecTeX@cGross@cKlein@>hSBX AR SBX ARBMP MN ToUmlautSC66' Werner Roth 1997 ' StarOffice 4.0 msste aber auch mit StarWriter 3.0 laufen. '--------------------------------------------------------------------- ' UmschriftToUmlaut: '--------------------------------------------------------------------- ' Dieses Makro tauscht Umschrift also Ae, Oe Ue in Umlaute , , ' Damit "bauen" nicht in "ban" getauscht wird, gehe ich wie folgt vor: ' - Gngige Worte wie fuer/fr werden in einer Positivliste gespeichert ' und ersetzt. Achtung! Es wird Gro-/Kleinschreibung bercksichtigt. ' - In einem zweiten Schritt werden alle Umlaute gesucht. Das Ersetzen ' mu jeweils besttigt werden. ' Leider ist das "Suchen&Ersetzen" von Umschrift gerade bei "ue" und "ss" ' nervig aber mit diesem Makro schon mal besser als von Hand ' Eventuell wird dieses Makro auch mal eine Negativliste bekommen. ' ' ACHTUNG: Erstellt im StarWriter Arbeitsverzeichnis eine Datei WORTLIST.TXT '--------------------------------------------------------------------- 'TexToUmlaut '--------------------------------------------------------------------- ' Weiter unten PUBLIC bIsOK as Boolean ' setzt der JaNeinDlg "Soll dieses Vorkommen durch ein ersetzt werden?" PUBLIC bLaeuftWeiter as Boolean ' wird von dem JaNeinDlg Programmendebutton gesteuert PUBLIC DateiName$ Sub UmschriftToUmlaut DIM a$, i% IF ActiveModule.Name <> "StarWriter" THEN MsgBox("Umlautkonvertierungen knnen Sie nur innerhalb eines Textdokuments anwenden.",16,"Fehler") EXIT SUB ENDIF 'Positivliste im StarOffice-Arbeitsverzeichnis in Datei Wortlist.txt DateiName$ = Application.PathSettings.Work+"\WortList.txt" 'Positivwortliste in die ListBox des Startdialogs UmschriftToUmlautStartDlg.ListBox.Clear 'Wenn nichts da ist, passiert auch nichts! IF Dir$(DateiName$)<>"" THEN ' die Datei WortList.txt auslesen und die Eintrge in die Listbox schreiben #DatKanal = FreeFile OPEN DateiName$ for Input Access Read As #DatKanal DO UNTIL Eof(#DatKanal) INPUT #DatKanal, a$ a$ = trim(a$) IF a$ <> "" THEN UmschriftToUmlautStartDlg.ListBox.AddItem(a$) ENDIF LOOP CLOSE #DatKanal ELSE ' keine Datei WortList.txt da! ' also flle die Positivliste mit den wichtigsten Eintrgen UmschriftToUmlautStartDlg.ListBox.AddItem("aendern/ndern") UmschriftToUmlautStartDlg.ListBox.AddItem("ausser/auer") UmschriftToUmlautStartDlg.ListBox.AddItem("dafuer/dafr") UmschriftToUmlautStartDlg.ListBox.AddItem("dass/da") UmschriftToUmlautStartDlg.ListBox.AddItem("faellt/fllt") UmschriftToUmlautStartDlg.ListBox.AddItem("fuehren/fhren") UmschriftToUmlautStartDlg.ListBox.AddItem("fuer/fr") UmschriftToUmlautStartDlg.ListBox.AddItem("gaebe/gbe") UmschriftToUmlautStartDlg.ListBox.AddItem("groesser/grer") UmschriftToUmlautStartDlg.ListBox.AddItem("gross/gro") UmschriftToUmlautStartDlg.ListBox.AddItem("haeltst/hltst") UmschriftToUmlautStartDlg.ListBox.AddItem("haengt/hngt") UmschriftToUmlautStartDlg.ListBox.AddItem("koennen/knnen") UmschriftToUmlautStartDlg.ListBox.AddItem("koennte/knnte") UmschriftToUmlautStartDlg.ListBox.AddItem("koennten/knnten") UmschriftToUmlautStartDlg.ListBox.AddItem("laesst/lt") UmschriftToUmlautStartDlg.ListBox.AddItem("laesst/lt") UmschriftToUmlautStartDlg.ListBox.AddItem("moechte/mchte") UmschriftToUmlautStartDlg.ListBox.AddItem("muessen/mssen") UmschriftToUmlautStartDlg.ListBox.AddItem("muesste/mte") UmschriftToUmlautStartDlg.ListBox.AddItem("muessten/mten") UmschriftToUmlautStartDlg.ListBox.AddItem("muss/mu") UmschriftToUmlautStartDlg.ListBox.AddItem("naechsten/nchsten") UmschriftToUmlautStartDlg.ListBox.AddItem("ueber/ber") UmschriftToUmlautStartDlg.ListBox.AddItem("waere/wre") UmschriftToUmlautStartDlg.ListBox.AddItem("wuerde/wrde") ENDIF ' ListBoxCursor setzen UmschriftToUmlautStartDlg.ListBox.ListIndex = 0 UmschriftToUmlautStartDlg.ListBox.Selected(0) = true ' ggf. OnMouseUpUToUStartDlgListBox wer das Editfeld zu Anfang gefllt haben will 'Startdialog *modal* zeigen! 'START MODALER DIALOG! UmschriftToUmlautStartDlg.Show 'ENDE MODALER DIALOG! 'Nachdem der Startdialog, geschlossen wurde, gehts hier weiter 'Alle Worte der Positivliste in Datei WortList.txt schreiben #DatKanal = FreeFile IF Dir$(DateiName$)<>"" THEN KILL DateiName$ ENDIF OPEN DateiName$ for Output Access Write As #DatKanal FOR i% = 0 to UmschriftToUmlautStartDlg.ListBox.ListCount-1 WRITE #DatKanal, UmschriftToUmlautStartDlg.ListBox.List(i%) NEXT i% CLOSE #DatKanal 'Raus aus dem Speicher mit dir! UmschriftToUmlautStartDlg.Unload End Sub Sub OnClickUToUStartDlgStartBut ' StartButton des UmschriftToUmlautStartDlg ' Arbeite nun die Positivliste ab. DIM a$, i%, suche$, ersetze$ UmschriftToUmlautStartDlg.Hide 'Globale Suchoptionen setzen WITH ActiveWindow.SearchSettings .Backward = false '(Suchrichtung Rckwrts) .InSelection = false ' (Nur in Selektion suchen) .CaseSensitive = true ' (Exakte Suche) .RegExp = false ' (Suche nach regulren Ausdrcken) .WordOnly = true ' (Nur ganze Wrter suchen) END WITH Selection.ActionStart ' kein Bildschirmupdate 'Gehe alle Eintrge der ListBox durch: FOR i% = 0 TO UmschriftToUmlautStartDlg.ListBox.ListCount-1 a$ = trim(UmschriftToUmlautStartDlg.ListBox.List(i%)) is% = InStr(a$, "/") IF is%<>0 then suche$ = Left$(a$, is% - 1) ersetze$ = Right$(a$, len(a$) - len(suche$) - 1) 'SucheErsetzte(suche$,ersetze$) ' Durchsuche das gesamte Dokument nach dem Suchbegriff ' und Ersetze ihn. Es wird exakt gesucht! Selection.GoToStartOfDoc ActiveWindow.Search suche$ a$ = Selection.Value Do While len(a$) <> 0 Selection.Insert(ersetze$) ActiveWindow.RepeatSearch a$ = Selection.Value Loop ENDIF 'Suche&Ersetze Syntax ist OK NEXT i% Selection.ActionEnd ' nun Umlaute einzeln ersetzen: UToUChangeAeOeUe End Sub Sub UToUChangeAeOeUe ' Sub von OnClickStartBut ' ersetze alle Umlaute einzeln mit Abfrage bLaeuftWeiter = true ActiveWindow.SearchSettings.CaseSensitive = false ' (Exakte Suche) ActiveWindow.SearchSettings.WordOnly = false ' (Nur ganze Wrter suchen) UToUChangeOne("Ae","","") UToUChangeOne("Oe","","") UToUChangeOne("Ue","","") UToUChangeOne("ss","","") Selection.GoLeft(0) JaNeinDlg.UnLoad End Sub Sub UToUChangeOne(cUmschrift as String, cGross as String, cKlein as String) ' Sub von UToUChangeAeOeUe ' Aufruf UToUChangeOne("Ae","","") ' auf Gro- und Kleinschreibung mu geachtet werden! ' bLaeuftWeiter wird von dem JaNeinDlg Programmendebutton gesteuert IF bLaeuftWeiter THEN ' Dialogmeldung umstellen JaNeinDlg.MainText.Caption = "Soll dieses Vorkommen durch ein "+cKlein+" ersetzt werden?" ' Umschrift ersetzen: Selection.GoToStartOfDoc ActiveWindow.Search cUmschrift a$ = Selection.Value Do While len(a$) <> 0 ' Dialog *modal* hochbringen JaNeinDlg.Show ' Der setzt jetzt bIsOK bzw. bLaeuftWeiter IF not bLaeuftWeiter THEN 'Damit bei Abbruch beim Cursor stehengeblieben wird Exit Do ENDIF IF bIsOK then IF a$ = cUmschrift then Selection.Insert( cGross ) Else Selection.Insert( cKlein ) Endif ENDIF ActiveWindow.RepeatSearch a$ = Selection.Value Loop Endif End Sub Sub OnClickUToUStartDlgNeuBegriffBut ' UmschriftToUmlautStartDlg NeuerBegriffButton ' Trgt einen neuen Begriff in die Positivliste ein ' dabei mu die Syntax "fuer/fr" eingehalten werden DIM a$ a$ = trim(UmschriftToUmlautStartDlg.NeuBegriff.Text) IF InStr(a$, "/")<>0 then UmschriftToUmlautStartDlg.ListBox.AddItem(a$) UmschriftToUmlautStartDlg.NeuBegriff.Text = "" Else Beep MsgBox a$+" ist kein gltiger Ausdruck!"+chr(13)+"Beispiel: Muenze/Mnze", 16, "Warnung" Endif End Sub Sub OnClickUToUStartDlgLoeschBegriffBut ' UmschriftToUmlautStartDlg BegriffLschenButton ' Lscht den selektierten Begriff aus der Positivliste DIM lCount%, lIndex% lCount% = UmschriftToUmlautStartDlg.ListBox.ListCount ' Ist was selektiert? IF lCount% <> 0 then lIndex% = UmschriftToUmlautStartDlg.ListBox.ListIndex UmschriftToUmlautStartDlg.ListBox.RemoveItem(lIndex%) ' Welchen Begriff kann ich selektieren? if lCount% <> 1 then UmschriftToUmlautStartDlg.ListBox.ListIndex = 0 UmschriftToUmlautStartDlg.ListBox.Selected(0) = true Endif Else ' nichts selektiert! Beep ENDIF End Sub Sub OnMouseUpUToUStartDlgListBox ' UmschriftToUmlautStartDlg ListBox.MouseUp ' Editfeld fllen UmschriftToUmlautStartDlg.NeuBegriff.Text = UmschriftToUmlautStartDlg.ListBox.List(UmschriftToUmlautStartDlg.ListBox.Listindex) End Sub Sub OnClickUToUStartDlgHilfBut ' Poor mans Hilfefunktion DIM a$ a$ = "Anhand dieser Positivliste werden zuerst die Worte in Umschrift in "+chr(13) a$ = a$ + "Worte mit Umlauten ersetzt (z.B. Muenze in Mnze)."+chr(13) a$ = a$ + "Danach werden ae, oe, ue und ss gesucht und auf Besttigung ersetzt."+chr(13)+chr(13) a$ = a$ + "Die Eintrge der Positivliste mssen immer / sein."+chr(13) a$ = a$ + "z.B. fuer/fr"+chr(13)+chr(13) a$ = a$ + "Die Positivliste wird in "+DateiName$+" gespeichert" MsgBox a$, 32, "Hilfe" End Sub Sub OnClickJaNeinDlgJaButt ' JaNeinDlg JaButton ' Ae, Oe, Ue wird in , , getauscht ' Control in Sub UToUChangeOne bIsOK = true JaNeinDlg.Hide End Sub Sub OnClickJaNeinDlgNeinButt ' JaNeinDlg NeinButton ' Umschrift wird nicht getauscht ' Control in Sub UToUChangeOne bIsOK = false JaNeinDlg.Hide End Sub Sub OnClickJaNeinDlgAbbrechen ' JaNeinDlg ProgrammendeButton ' Umschrift wird nicht getauscht ' Control fuer bIsOK und bLaeuftWeiter in Sub UToUChangeOne bIsOK = false bLaeuftWeiter = false End Sub '--------------------------------------------------------------------- 'TexToUmlaut '--------------------------------------------------------------------- ' Dieses Makro tauscht LaTexUmlaute in Umlaute ' "A -> ' "O -> ' "U -> ' "s -> ' die Schwierigkeit dabei ist die Umlaute von "echten" Anfhrungszeichen zu ' unterscheiden. ' Gegebenenfalls wird nachgefragt, meist drfte das MAkro jedoch ohne Nachfrage durchlaufen. Sub TexToUmlaut IF ActiveModule.Name <> "StarWriter" THEN MsgBox("Umlautkonvertierungen knnen Sie nur innerhalb eines Textdokuments anwenden.",16,"Fehler") EXIT SUB ENDIF bIsOK = true bLaeuftWeiter = true Selection.ActionStart ' kein Bildschirmupdate WITH ActiveWindow.SearchSettings .Backward = false '(Suchrichtung Rckwrts) .InSelection = false ' (Nur in Selektion suchen) .CaseSensitive = true ' (Exakte Suche) .RegExp = false ' (Suche nach regulren Ausdrcken) .WordOnly = false ' (Nur ganze Wrter suchen) END WITH ' Da eine Positivliste bei LaTeX-Umlauten meiner Erfahrung nach nur ' alles was mit ber... beginnt beinhaltet, habe ich hier die Positivliste hart codiert. ActiveWindow.ReplaceAll(chr(34)+"Uber","ber") ActiveWindow.ReplaceAll(chr(34)+"uber","ber") ActiveWindow.SearchSettings.CaseSensitive = false ' (Exakte Suche) 'Ersetzte die einzelnen LaTeX-Umlaute TToUChangeOne(chr(34)+"A","","") TToUChangeOne(chr(34)+"O","","") TToUChangeOne(chr(34)+"U","","") TToUChangeOne(chr(34)+"s","","") Selection.ActionEnd ActiveWindow.Refresh() End Sub Sub TToUChangeOne(cTeX as String, cGross as String, cKlein as String) DIM bIsStartOfPara AS boolean IF bLaeuftWeiter THEN ' wird von dem JaNeinDlg Programmendebutton gesteuert Selection.GoToStartOfDoc 'Starte ganz oben ActiveWindow.Search cTeX 'suche den auszutauschenden Buchstaben a$ = Selection.Value Do While len(a$) <> 0 'Was gefunden? 'Schaue mal nach rechts, ob da ein Leerzeichen oder ein Absatzbeginn ist 'Nur dann ist das ersetzen kritisch Selection.GoLeft( 2, FALSE ) bIsStartOfPara = Selection.IsStartOfPara Selection.GoLeft( 1, TRUE ) Leer$ = Selection.Value 'wieder an die alte Stelle gehen ActiveWindow.RepeatSearch IF (Leer$ = " ") or (bIsStartOfPara) then 'Ist wohl ein Wortanfang Selection.ActionEnd JaNeinDlg.MainText.Caption = "Soll dieses Vorkommen durch ein "+cKlein+" ersetzt werden?" JaNeinDlg.Show JaNeinDlg.Hide Selection.ActionStart IF not bLaeuftWeiter THEN Exit Do ENDIF ENDIF IF bIsOK then 'Der Anwender meinte: "Soll ersetzt werden" IF a$ = cTeX then 'sind die Buchstaben genau gleich ""<>""? Selection.Insert( cGross ) 'Dann die Gross-Maske ELSE 'sonst Selection.Insert( cKlein ) 'Kleinbuchstben ENDIF ELSE bIsOK = true ENDIF ActiveWindow.RepeatSearch 'Suche weiter a$ = Selection.Value Loop ENDIF 'bLaeuftWeiter END SUB PCE  E  A G_A BA   E$   A&   (A GU* +B ,  FD- 2 ,3. / A G<0    2E3 ,OE7  A 8  A 9  A :  A ;  A  <  A! =  A" >  A# ?  A$ @  A% A  A& B  A' C  A( D  A) E  A* F  A+ G  A+ H  A, I  A- J  A. K  A/ L  A0 M  A1 N  A2 O  A3 P  A4 S  5 BT  B6 7 X 8 \ ^A Gz_9aB  bB  : BB%Kc ,  ; /P 3d&Ee ,Og < h+jm>?n @ rA B C D sA B E D tA B F 7 uA B G D vA B H 7 yI J {B  : BB%K=|  ; }KALM~KB G4 >KBN ?O>OBP I Q  A >R  I S  OB G4 I ?T  A U  I S  E&EI V W+ 7 A B F D A B H D AXAYAZ[A^A_A`[AaAbAc[AdAeAe[I Bf g < + G^ g k l AmAnI Q A R I S OB G^ g 8   G E^  G1 G I T E1 I T  A U  I S E+ p q ALMB G     p q AE rAsB tAuBAv +xyx  : xB G y  5   yz xB G   5 B   B6 7 E r+ p q     5 ; +A}B tA~B tAB tB tAB tAB tB tAAB A + 7 g @ + D g @ +  D   D +  A G A BA  E" 7 # 7 $I J 'A B C D (A B E D )A B F 7 *A B G D +A B H D /A B"tAA 0A B"tAA 2A B F D 5B"tAAYAZ6B"tAA_A`7B"tAAbAc8B"tAAeAe:I V ;A <+>? A GBI Q CA R DI S EOB GH I BD f I I J I B7 f K I S M A U N A GP I V Q g k l AmAnR g 8 S g @ T I J V  GW E[  Gx\ GY]I T Ep_I T ` Eb  7 d A U e I S fEh++ST 024AFQ (-<IV_l{-=FYdo|(/8BNQSY^bhw~ BTu$?Tb|"'6DIKbIsOKbLaeuftWeiterDateiNameUmschriftToUmlautaiActiveModuleNameStarWriterUmlautkonvertierungen knnen Sie nur innerhalb eines Textdokuments anwenden.FehlerMsgBoxApplicationPathSettingsWork\WortList.txtUmschriftToUmlautStartDlgListBoxClearDirDatKanalFreeFileEoftrimAddItemPAR2aendern/ndernausser/auerdafuer/dafrdass/dafaellt/flltfuehren/fhrenfuer/frgaebe/gbegroesser/grergross/grohaeltst/hltsthaengt/hngtkoennen/knnenkoennte/knntekoennten/knntenlaesst/ltmoechte/mchtemuessen/mssenmuesste/mtemuessten/mtenmuss/munaechsten/nchstenueber/berwaere/wrewuerde/wrdeListIndexSelectedtrueShowKILLListCountListUnloadOnClickUToUStartDlgStartButsucheersetzeHideActiveWindowSearchSettingsBackwardfalseInSelectionCaseSensitiveRegExpWordOnlySelectionActionStartis/InStrLeftlenRightGoToStartOfDocSearchValueInsertRepeatSearchActionEndUToUChangeAeOeUeAeUToUChangeOnePAR3PAR4OeUessGoLeftJaNeinDlgcUmschriftcGrosscKleinMainTextCaptionSoll dieses Vorkommen durch ein ersetzt werden?OnClickUToUStartDlgNeuBegriffButNeuBegriffTextBeep ist kein gltiger Ausdruck!chrBeispiel: Muenze/MnzeWarnungOnClickUToUStartDlgLoeschBegriffButlCountlIndexRemoveItemOnMouseUpUToUStartDlgListBoxOnClickUToUStartDlgHilfButAnhand dieser Positivliste werden zuerst die Worte in Umschrift in Worte mit Umlauten ersetzt (z.B. Muenze in Mnze).Danach werden ae, oe, ue und ss gesucht und auf Besttigung ersetzt.Die Eintrge der Positivliste mssen immer / sein.z.B. fuer/frDie Positivliste wird in gespeichertHilfeOnClickJaNeinDlgJaButtOnClickJaNeinDlgNeinButtOnClickJaNeinDlgAbbrechenTexToUmlautUberberReplaceAlluberberATToUChangeOneOUsRefreshcTeXbIsStartOfParaIsStartOfParaLeer 2c%bqq Info 0 Info 1 Info 2 Info 3 ɹ0b ctio44Standard LIBIMBEDDED LIBIMBEDDED+2,max,688;748;100;568;928;11863;10588;0;0,1SWG, A<  #$%&'()*./0123456789:;<=>?@ABCDGHK  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFQRSTU0#'@} ArialX'"@dBsXX'@XA'2*@dxddxdXXR'D@X8fP$' '(l, , D , , , , , `#, ', 8,, 0, 5, |9, =, 6')72) StandardStandard@ berschriftStandard Textkrper@''2A'DR'  TextkrperStandard Textkrper@2A' berschrift 1 berschrift Textkrper@'' <Oh+'0 h t 1@@0:@To@To Werner Roth Werner RothSW4HDR.0! Frameformat ZeichenformatTextformatvorlageStandard  berschrift Textkrper  berschrift 1Root 8Standard  Abbildung Tabelle TextPp 2$99 SUAP.AAPndnddnAPndndA PA  PSAAP.AAPndnddnAPndndZSW4HDR.0C(364K(BUILD:1538)(SV364)]DAdrebuchADRESSEN! Frameformat ZeichenformatTextformatvorlageStandard  berschrift Textkrper  berschrift 1Root 8Standard  Abbildung Tabelle Textd501 j) stardiv.dicY standard.dicN 5T2Umlaut Konvertier Makrosw TeGDiese Makrobiliothek fat Tools zum konvertieren von Umlauten zusammen.wTQF'---------------------------------------------------------------------T)' UmlautKonvertw TQF'---------------------------------------------------------------------TPE'Makro zum konvertieren von Umlauten, ob man nun verschicken mchte, T8-'also Umlaute durch Umschrift ersetzen mchteT@&'oder kryptische Dateien bekommen hat.w T 'Konvertiert:T' zum Verschicken:T$' - Umlaute in UmschriftT/' - Umlaute nach TeXwT ' erhalten:T9' - Unix Umlaute in Win-UmlautewTX:' - falsche Winword Umlaute in Win-Umlaute (unvollstndig)w T TQF'---------------------------------------------------------------------T.' UmschriftToUmlaut:wTQF'---------------------------------------------------------------------TdB' Dieses Makro tauscht Umschrift also Ae, Oe Ue in Umlaute , , w&*-TaG' Damit "bauen" nicht in "ban" getauscht wird, gehe ich wie folgt vor:wTaG' - Gngige Worte wie fuer/fr werden in einer Positivliste gespeichertwTRG' und ersetzt. Achtung! Es wird Gro-/Kleinschreibung bercksichtigt.TQF' - In einem zweiten Schritt werden alle Umlaute gesucht. Das ErsetzenT,!' mu jeweils besttigt werden.TcI' Leider ist das "Suchen&Ersetzen" von Umschrift gerade bei "ue" und "ss"w=TG<' nervig aber mit diesem Makro schon mal besser als von HandTMB' Eventuell wird dieses Makro auch mal eine Negativliste bekommen.T 'TjL' ACHTUNG: Erstellt im StarWriter Arbeitsverzeichnis eine Datei WORTLIST.TXTw @ T TQF'---------------------------------------------------------------------T& 'TexToUmlautw TQF'---------------------------------------------------------------------TH.' Dieses Makro tauscht LaTexUmlaute in Umlautew T ' "A -> T ' "O -> T ' "U -> T ' "s -> TVK' die Schwierigkeit dabei ist die Umlaute von "echten" Anfhrungszeichen zuT' unterscheiden.Tg\' Gegebenenfalls wird nachgefragt, meist drfte das MAkro jedoch ohne Nachfrage durchlaufen.T T TN4Um das Makro in die swriter-Bibliotheken einzufgen:wT!Dieses Dokument ffnenT#Extras|Makro [Verwalten]TOrdner BibliothekenT-Bibliothek: swriterw T[Neu]TH=(Namen ggf. ndern -festhalten und Bibliothek anklicken)T Ordner ModuleTUmlautKonvert, ToUmlaut, JaNeinDlg, UmschriftToUmlautStartDlg und UmlautKonvertDlg mit der Maus auf die neue Bibliothek ziehen (ggf. dabei drcken)w#  +KJUU88 ,??D ,?Ux0+I>P´Ux0+I>?50+hh0+x0+0+x0+0+0+0+0+ 0+# 0+ @ 0+ ] 0+ z 0+ 0+ 0+0+0+ 0+(0+E0+b0+0+0+0+0+0+0+-0+J0+g 0+!0+"0+#0+x0+ S%0+!p&0+"'0+#(0+$)0+%*0+&,0+'-0+(;.0+)X/0+*u00++10+x0+,'30+-D40+.a50+/~60+070+180+290+3:0+4<0+:5ZRoot EntryB^$W CompObj<Ole persist elements" SfxPreviewStarBASICStandard SfxDocumentInfo _BasicManager2 4SfxWindows-SfxStyleSheetsSummaryInformation( $8SwPageStyleSheets$ )StarWriterDocument&a