Word 2000: Symbol suchen und ersetzen

  • #1
K

KeinProfi

Bekanntes Mitglied
Themenersteller
Dabei seit
16.06.2003
Beiträge
517
Reaktionspunkte
0
Ort
Oberpfalz
Hallo Freunde,

habe in den vergangenen Jahren ein Manuskript verfaßt, das jetzt gedruckt wird. Darin werden u. a. viele Sterbedaten dokumentiert. Für das Kreuz (z. B. +1945) habe ich ein schöneres Symbolkreuz verwendet, das ich per Tastenkombination eingefügt habe (Word 2000: Einfügen - Symbol).
Die Druckerei hat mir mitgeteilt, sie können dieses Symbol mit ihren Druckmaschinen nicht umsetzen. Ich soll im Manuskript alle Symbolkreuze z. B. durch ein @ ersetzen, das können ihre Computer erkennen und wieder in ein Symbolkreuz umwandeln.

Ich habe über tausend dieser Kreuze im Manuskript! :| Im Fenster Suchen und Ersetzen läßt sich das Symbolkreuz nicht einfügen.
Muß ich jetzt wirklich alle Kreuze einzeln rauslöschen oder hat jemand einen hilfreichen Tipp?
 
  • #2
Hallo,

Ermittle den Chr Wert des Zeichen, welches du ersetzen möchtest.
********************************
Habe selbst ein Teil des Textes, in dem das Zeichen vorkommt, nach Excel kopiert,
alle Zeichen bis auf das zu ersetzende aus der Zelle A1 entfernt
und in Zelle B2 die Formel
=Code(A1)
eingetragen, als Ergebnis erhältst du den Chr Wert des Zeichens,
*********************************
kannst auch im Symbolfenster in Word unten Rechts auf ASCII (dezimal) stellen
und den Chr Wert des Zeichens in Zeichencode daneben ablesen.
*********************************
diesen Wert im Makro eintragen, ebenso den Chr Wert von @

Viel Glück bei deinem Vorhaben!

Teste einmal folgendes Makro mit einer Kopie deiner Datei:

Sub ZeichenErsetzen()
' ersetzt ein Zeichen durch ein anderes Zeichen
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Chr(134)-> Dieses Zeichen ersetzen
.Replacement.Text = Chr(64)-> Durch dieses Zeichen ersetzen
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = Chr(134) + Chr(64)-> Erstes Zeichen durch das nachfolgende Zeichen ersetzen
.Replacement.Text = Chr(64)-> Durch dieses Zeichen ersetzen
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
 
  • #3
Hallo hddiesel,

vielen Dank für die Mühe, die du dir gemacht hast. Ich fürchte, das ist eine Nummer zu hoch für mich.
Die Kopie nach Excel usw. habe ich ja noch hinbekommen. Ermittelt habe ich dabei die Chr (?) Werte 85 für das Kreuz und 64 für @.
Aber ich kann die Zahlen 85 im Manuskript doch nicht durch die Zahl 64 ersetzen lassen.
Vermutlich hast du mit Makro auch etwas anderes gemeint als das Feld Suchen und ersetzen.

Und ich weiß nicht, wo das ist....
 
  • #4
Hallo,

habe jetzt das Makro angepasst auf Zeichen 85 durch Zeichen 64 ersetzen!

Eine Kopie deiner Originaldatei öffnen.

ALT + F11 öffnet den Visual Basic - EDITOR
im Visual Basic - EDITOR
Einfügen / Modul wählen

in die Rechte Fensterhälfte folgenden CODE in den leeren Bereich einfügen,
von Sub ZeichenErsetzen() bis End Sub:

*******************************************************************

Sub ZeichenErsetzen()
' ersetzt ein Zeichen durch ein anderes Zeichen
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Chr(85)-> Dieses Zeichen ersetzen
.Replacement.Text = Chr(64)-> Durch dieses Zeichen ersetzen
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = Chr(85) + Chr(64)-> Erstes Zeichen durch das nachfolgende Zeichen ersetzen
.Replacement.Text = Chr(64)-> Durch dieses Zeichen ersetzen
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

*******************************************************************

Code ist Eingefügt,
jetzt den Visual Basic - EDITOR schließen.
du befindest dich wieder im Dokument,
die Datei Speichern,

jetzt folgende Schritte:
ALT + F8
in der Linken Fensterhälfte ZeichenErsetzen suchen und wählen,
Ausführen wählen
dann warten, bis das Makro vollständig abgearbeitet wurde,
jetzt das Dokument überprüfen, die Kreuze sollten jetzt durch @ ersetzt sein.
Das Dokument speichern.
Fertig, viel Glück.
 
  • #5
Hallo hddiesel,

vielen Dank für die Arbeit, die du dir gemacht hast hast!
Es hätte auch beinahe geklappt, wenn nicht etwas gewesen wäre, das ich vorher nicht gewußt hatte:

Bei der Kopie der Dokumentation von Word nach Excel hat Excel aus den +1945, +1951 usw, gemacht: U1945, U1951 usw.
Ich dachte, das ist o.k. so und habe den Wert von diesem U abgeholt, also 85.

Bei der Anwendung deines hervorragend ausgearbeiteten Basic-Befehls hat der Editor nun aus allen u und U ein @ gemacht.
Vor lauter Schreck habe ich die Änderung gleich wieder rückgängig gemacht ohne nachzuprüfen, ob dabei auch die Kreuze geändert worden sind.

Also hab ich den Schritt nach einem Neustart nochmal ausprobiert, jetzt gings aber nicht mehr. Die Zeile ZeichenErsetzen war nicht mehr da, dafür ZeichenErsetzen1 und noch irgendwas, und beim Anklicken dieser Zeile kam die Meldung, daß das Makro deaktiviert worden sei und ich solle im Host irgendetwas ändern..

Dein Prinzip jedoch hat erstklassig funktioniert, halt nur nicht in meinem speziellen Fall...
 
  • #6
Hallo,

Zu: Aber ich kann die Zahlen 85 im Manuskript doch nicht durch die Zahl 64 ersetzen lassen.

Geht nur über Makro ohne Probleme, habe noch ganz vergessen zu schreiben,
dass du die Makrosicherheit auf Mittel stellen sollst,
dann kannst du beim öffnen einer Datei mit Makro entscheiden,
ob Makros ausgeführt werden dürfen oder nicht.

Extras
Makro
Sicherheit...
Reiter Sicherheitsstufe
Mittel wählen

Das Makro ersetzt das Kreuz durch @, wenn du den Wert 85 richtig ermittelt hast.

Wenn du noch Fragen hast, bitte Melden!

Sorry habe während des schreibens, deine Neue Info erhalten.

Wenn du über Symbole das Kreuz eingefügt hast und das Kreuz noch markiert ist,
kannst auch im Symbolfenster in Word unten Rechts auf ASCII (dezimal) stellen
und den Chr Wert des Zeichens in Zeichencode daneben ablesen,
diesen Wert trägst du dann statt (85) in den Code ein,
den Wert 64 nicht ändern, den der wurde ja Richtig eingetragen,
wenn auch der Ausgangswert (85) falsch war und deshalb die u ersetzt wurden!

Also statt 85 den Richtigen Wert eintragen!

Am besten du fügst den Makrocode in deine Kopie vom Original ein.
setze die Makrosicherheit auf Mittel
und Speicher die Datei, wenn das Falsche Zeichen ersetzt wurde,
einfach die Datei schließen ohne zu speichern.
Die Datei neu öffnen, den Wert im Makro ändern und speichern,
das Makro ausführen, wenn alles richtig ersetzt wurde, speichern wählen.

Bitte nicht mit dem Original arbeiten, immer mit einer Kopie!
 
  • #7
Hallo,

ZU:
Also hab ich den Schritt nach einem Neustart nochmal ausprobiert, jetzt gings aber nicht mehr. Die Zeile ZeichenErsetzen war nicht mehr da, dafür ZeichenErsetzen1 und noch irgendwas, und beim Anklicken dieser Zeile kam die Meldung, daß das Makro deaktiviert worden sei und ich solle im Host irgendetwas ändern..

du kannst auch den Visual Basic Editor mir ALT + F11 starten,
dann Links zuerst Normal (= die Datei Normal.dot) markieren,
dann
Einfügen
Modul

und Rechts den Makrocode einfügen,
dann bleibt er nach dem schließen der Datei erhalten
mußt dann nur noch nach dem erneuten öffnen der Datei,
zuerst auf das Pluszeichen vor Normal klicken
dann auf das Pluszeichen vor Module
und dann ein Klick auf Modul1, dann hast du Rechts den Makrocode zum ändern.
 
  • #8
Hallo hddiesel,

ich habe den Reiter der Sicherheitsstufe auf Mittel geändert.
Aktuell habe ich noch das folgende Hindernis zu überwinden: Symbolfenster in Word unten Rechts auf ASCII (dezimal) stellen, ich habe ja noch immer nicht den richtigen Chr Wert für das Kreuz.
Ich finde kein Symbolfenster in Word unten rechts, könntest du mir genauer erklären, wo das ist?

Alternativ könnte ich dir einen Teil meines Manuskriptes als .doc per Mail senden.
 
  • #9
Hallo,

in Excel oder Word, kannst du auch über Symbole dein Kreuz in eine Zelle einfügen,
kannst du in Excel oder Word Symbole nicht finden, dann gehe folgender maßen vor.

Rechtsklick in eine Symbolleiste
Anpassen wählen
Reiter Befehle wählen
Links Einfügen wählen
Rechts nach dem Ohmzeichen suchen ( text ist daneben Symbol...)
dieses Ohmzeichen in eine Symbolleiste oder Menü mit der Linken Maustaste ziehen
und die Taste los lassen, das Symbol wird dann eingefügt.
Anpassen schließen und auf das neue Symbol klicken
und das Kreuz suchen und auswählen!


Wenn du über Symbole (Ohmzeichen in der Symbolleiste), das Kreuz eingefügt hast und das Kreuz noch markiert ist,
kannst auch im Symbol- Fenster in Excel, oder Word unten Rechts ( über Einfügen), auf ASCII (dezimal) stellen
und den Chr Wert des Zeichens in Zeichencode daneben ablesen.
 
  • #10
Hallo hddiesel,

ich weiß schon, wie man Symbole einbinden kann und habe auch das Ohmzeichen in die Menüleiste gebracht.
Aber das hilft mir nicht weiter, weil ich den Chr Wert des Kreuzes einfach nicht ermitteln kann.
Es handelt sich übrigens um das erste der vier vorgeschlagenen Kreuze in Wingdings.

kannst auch im Symbol- Fenster in Word unten Rechts ( über Einfügen), auf ASCII (dezimal) stellen
und den Chr Wert des Zeichens in Zeichencode daneben ablesen.

Das krieg ich nicht hin, ich finde es einfach nicht....
Kannst du es vielleicht Schritt für Schritt erklären?
 
  • #11
Hallo,

bei dem von dir angegebenen Kreuz, mit Font Wingdings, komme ich auch nicht weiter mit dem Makro.
Zeichen im Font Arial, werden ersetzt.

Durch suchen und ersetzen, werden die Kreuze, mit Font Wingdings, durch @ ohne Probleme alle ersetzt.
 
  • #12
Bei mir mit Word2000 leider nicht.
Das Feld Suchen und ersetzen nimmt in der Zeile Suchen nach: keine Symbole von Wingdings an, nur normale Buchstaben.
 
  • #13
Hallo,

versuche einmal folgendes,

nur das gewünschte Symbol markieren,
ohne zusätzlichem Zeichen,
auch kein Leerzeichen, oder Zeilenumschaltung

Bearbeiten
Ersetzen

Strg + Einfg
in das Feld Suchen nach: klicken
UMSCHALT + Einfg
in das Feld Ersetzen durch: klicken
@ einfügen, oder ein anderes gewünschte Zeichen,
Weitersuchen wählen um zu Prüfen ob das Richtige Zeichen gefunden wird,
wenn Ja
Alle ersetzen wählen
 
  • #14
Hallo hddiesel,

habe das blanke gewünschte Symbol markiert. Wenn ich dann Bearbeiten - Ersetzen aufrufe, steht in der Zeile Suchen nach schon eine linke Klammer, nämlich diese: ( .
Und die ist markiert. Wenn ich Strg + Einfg drücke, tut sich nichts, auch nicht wenn ich UMSCHALT + Einfg drücke.
Es bleibt einfach die linke Klammer stehen. Wenn ich dann auf suchen gehe, werden tatsächlich alle linken Klammern gesucht....

Wenn ich nach dem Markieren des Kreuzes und dem Aufruf von Bearbeiten - Ersetzen die dort bereits stehende Klammer lösche und DANN erst Strg + Einfg oder UMSCHALT + Einfg drücke, tut sich gar nichts. Das dämliche Kreuz wird einfach nicht eingefügt. :?

Ich glaube, wir sollten es langsam aufgeben.
 
Thema:

Word 2000: Symbol suchen und ersetzen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben