VBA: suchen/ersetzen mit Referenzliste?

Moderator: ModerationP

VBA: suchen/ersetzen mit Referenzliste?

Beitragvon Peter128 » 11. Feb 2019, 17:58

Hallo zusammen,

ich habe folgendes Problem:

ich habe für eine Abschlussarbeit die Quellenangaben in einem anderen Literaturverwaltungsprogramm als Word erstellt. Im Word-Dokument steht jetzt Text in der Art

"Die Größe des Tisches ist wichtig (vgl. Smith;Forster;etal:2019-Current-fossil-fuel-, S. 7ff.)."

Ich erspare Euch die technischen Workarounds, aber ich habe jetzt eine Word-Datei erzeugen können, in der ich eine Gegenüberstellung dieser kryptischen Quellenangaben mit der richtigen Kurzform habe.

Beispiel:
Smith;Forster;etal:2019-Current-fossil-fuel- # Smith et al. 2019

Die Trennung erfolgt immer mit Leerzeichen-Raute-Leerzeichen. Die Gegenüberstellung habe ich als Word-Datei und kann die in meinen Haupttext der Einfachheit halber auch notfalls ans Ende kopieren.

Was ich nun derzeit nicht hinbekomme, ist ein automatisiertes Suchen & Ersetzen, bei der aus der "Schlüsseltabelle" die richtige Ersetzung ausgewählt wird und dann an die betreffende Textstelle die kryptische Quellenangabe ersetzt.

Ich würde laienhaft annehmen, dass folgende Schritte vom Programm erledigt werden müssten.

1. zuerst die kryptische Quellenangabe (hier: "Smith;Forster;etal:2019-Current-fossil-fuel-") erkennen
2. dann (am Ende des Dokuments oder in separater Datei) diesem Wert einen neuen Wert hinter dem Trenner (Leerzeichen-Raute-Leerzeichen) zugeordnet wird (hier: "Smith et al. 2019") zuordnen
3. diesen neuen Wert dann an der entsprechenden Textstelle einsetzen

Kann man das mit VBA am besten machen? Gibt es vielleicht von jemandem ein paar Tipps, wie solch ein Code aussehen könnte?

Vielen Dank im voraus!

Peter
Peter128
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5
Registriert: 05. Jun 2018, 11:21

Re: VBA: suchen/ersetzen mit Referenzliste?

Beitragvon theoS » 15. Feb 2019, 18:21

Mach mal ein Dok wo das ist, wie es ist und wie es sein soll.
So ganz verstehe ich nämlich nicht was du haben willst.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4741
Registriert: 19. Apr 2008, 00:14


Re: VBA: suchen/ersetzen mit Referenzliste?

Beitragvon Peter128 » 17. Feb 2019, 15:42

Hallo Theo,

danke für die Antwort. Da ich hier im Forum tagelang nichts hörte, (und meine Abschlussarbeitsfrist mich zeitlich extrem unter Druck setzt) hatte ich im besagten Nachbarforum um Hilfe gebeten. Dort ist die Frage zwar nicht beantwortet, wie Fen schreibt, aber man nähert sich der Lösung. Der dortige Lösungsansatz war ein VBA-Skript mit Arrays (siehe Link von Fen).

Leider läuft das aktuell nicht bei mir. Du würdest mir also einen riesen Gefallen tun, die beiden hier angehängten Dateien mal kurz auf Deinem System laufen zu lassen.

Habe beide Dateien bei mir im gleichen Ordner, erhalte aber beim abspielen des Makros den "Laufzeitfehler 1004", die Schluesseltabelle.xlsx wurde nicht gefunden.

Im VBA-Code steht allerdings, dass genau im gleichen Verzeichnis gesucht werden soll...? Habe auch nochmal den genauen Namen der Tabelle aus dem VBA kopiert und damit die Tabelle umbenannt, um irgendwelche Zeichenprobleme auszuschließen...

Wie könnte ich da den Fehler weiter erörtern?

Dir einen guten Wochenausklang
Peter

PS: bitte beachte, dass ich die Word-Datei aufgrund der Beschränkung der Forensoftware von docm auf docm.xls umbenannt habe. Die musst Du also wieder in eine docm umbenennen. Habe sie selbst bei virustotal getestet, wirst Du ja sicher auch machen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Peter128
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5
Registriert: 05. Jun 2018, 11:21

Re: VBA: suchen/ersetzen mit Referenzliste?

Beitragvon theoS » 17. Feb 2019, 17:00

Läuft bei mir einwandfrei. Warum du einen 1004 bekommst, ist mir nicht ganz klar.
Der Pfad ist ja durch ThisDocument so gelegt, dass die beiden im selben Ordner liegen müssen.
Wenn sie das tun gehts auch.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4741
Registriert: 19. Apr 2008, 00:14

Re: VBA: suchen/ersetzen mit Referenzliste?

Beitragvon Gast » 17. Feb 2019, 18:50

Danke für die Rückmeldung, ich prüfe mal, ob das mit meinem System (Mac) und den unterschiedlichen Pfadangaben zusammenhängt...

Peter
Gast
 

Re: VBA: suchen/ersetzen mit Referenzliste?

Beitragvon theoS » 17. Feb 2019, 19:22

Klar, der Mac hat andere Trenner. Nimm den /
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4741
Registriert: 19. Apr 2008, 00:14


Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste