[GastForen Programme Office Microsoft Office VBA-Skript für Fußnoten-Defizit-Workaround

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Office - Alles fürs Büro
Themen
Beiträge
Moderatoren
Letzter Beitrag

VBA-Skript für Fußnoten-Defizit-Workaround

attisoft
Beiträge gesamt: 4

3. Sep 2013, 12:01
Beitrag # 1 von 4
Bewertung:
(3354 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin zusammen,

es geht um das altbekannte Problem fehlender Anpassungsmöglichkeiten bei Word-Fußnoten (in dem Falle zweispaltige Fußnoten unter einspaltigem Text). Bis da jemand eine professionelle Lösung findet, möchte ich eine Zwischenlösung finden:

Das Dokument hat ca.3200 Fußnoten, die ich mit VBA in {X fussnotentext} an den Stellen im Text stehen habe, wo dann der Referenztext steht. Im Text stehen auch noch ca. 800 Randnoten, die ich mit "{Y randnotentext} gekennzeichnet habe.

Also z.B (nur zur Veranschaulichung, da das Werk fremdsprachig ist:
"...da sagte Ali-Baba {X Ali-Baba war ein Räuber} zu dem Fürsten Gargamel {Y s.Seite 46} ..."
{X...} => Textfeld1
{Y...} => Textfeld2

Das Umwandeln in Fußnoten per Skript ist kein Problem, aber jetzt zu dem Fußnotenproblem: Bei der Masse von Fußnoten MUSS ich diese mehrspaltig bzw. als Fließtext aufbauen (die Fußnoten bestehen aus max. 5 Wörtern).

Letztendlich ist es so geplant, dass ich per Skript realisieren will, dass
- JE SEITE zwei Textboxen angelegt werden:
TextFeld1 enthält die Inhalte von {X ...} und steht am Seitenende
TextFeld2 enthält die Inhalte von {Y ...} und steht am Rand
- In der For-Next-Schleife, in der ich die Zeichen in Fußnoten umandle, soll jetzt jede Fußnote in das jeweilige Textfeld geschrieben werden, wobei das Positionieren/Verankern zweitrangig ist.

Zusammenfassend soll das Ziel sein, jeweils am Seitendende ein weiß gefüllte Textbox verankert zu haben, die nur
<Fußnoten-Nummer><Fußnotentext> enthält und die "eigentlichen Fußnoten" (dann weiß und in Schriftgröße4) überlagert. Dann könnte man die Inhalte frei editieren oder per Skript weiterverarbeiten, auch wenn die Fußnoten dann nicht mehr dynamisch sind (und das Skript bei jeder Änderung vorsichtshalber neu ausgeführt werden muss)...

Das Skript:
Code
Sub TestFussnotenErzeugen() 

'***Findet den geklamerten Text***
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "{X" 'als Beispiel die Schleife für die Fußnoten
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.Extend
Selection.Extend Character:="}"
Selection.Cut
'***Fügt den zwischengespeicherten Text als Fußnote ein***
With ActiveDocument.Range(Start:=ActiveDocument.Content.Start, End:=ActiveDocument.Content.End)
With .FootnoteOptions
.Location = wdBottomOfPage
.NumberingRule = wdRestartContinuous
.StartingNumber = 1
.NumberStyle = wdNoteNumberStyleArabic
End With
.Footnotes.Add Range:=Selection.Range, Reference:=""
End With
Selection.PasteAndFormat (wdPasteDefault)
'***Wiederholt die ersten beiden Schritte, bis keine Klammern mehr gefunden werden***
On Error GoTo Ende
Call TestFussnotenErzeugen
Ende:
End Sub



Ich hoffe, ich konnte mich wenigstens halbwegs verständlich ausdrücken...

Bin dankbar für jede Hilfe!

Viele Grüße,
Oliver
X

VBA-Skript für Fußnoten-Defizit-Workaround

Hallenstein
Beiträge gesamt: 142

5. Sep 2013, 13:01
Beitrag # 2 von 4
Beitrag ID: #516966
Bewertung:
(3261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Oliver,

ich habe keine fertige Lösung, aber ich hätte vielleicht ein paar Ideen einzubringen, eventuell hilft es dir ja weiter:

#Randnoten
Wäre es nicht besser, diese einfach nur mit einem anderen Absatzformat zu versehen, welches einen Positionsrahmen enthält? Dann entfällt an der Stelle das Anlegen des Textrahmens. Außerdem steht die Randnote direkt an der Stelle wo auch der Verweis ist. Mir ist nämlich noch unklar, wie das funktionieren soll, wenn es nur ein Textrahmen für die Marginalspalte ist. Hab ich da deine Lösung übersehen?

#Fußnoten
Bringt es dir eine Erleichterung/Vereinfachung, wenn das Textfeld schon auf der Seite definiert ist? Sprich, wenn es schon in der Fußzeile des Dokuments steht?

Ich gebe zu, ich hatte keine Zeit bisher deinen Code auszuprobieren. Ist bisher nur eine Idee, auf das gelesene.

Schöne Grüße,
Hallenstein.


als Antwort auf: [#516907]

VBA-Skript für Fußnoten-Defizit-Workaround

attisoft
Beiträge gesamt: 4

5. Sep 2013, 13:42
Beitrag # 3 von 4
Beitrag ID: #516967
Bewertung:
(3250 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Hallenstein,

es wäre sicher ein geringes Problem, je Seite eine Textbox zu erstellen, in die dann geschrieben werden könnte (die Seitenränder sind entsprechend gesetzt, dass immer der gleiche Freiraum dafür besteht).

Problem ist für mich, den numerischen Fußnotenzähler je Seite mit dem Fußnotentext in das jeweilige Textfeld zu schreiben.

Wenn es also als Step1 eine Lösung gibt, dass ich auf den 800 Seiten jeweils zwei Textfelder setze und verankere, die dann über VBA mit den entsprechenden Inhalten je Seite gefüllt werden, immer her damit, das wäre schonmal eine deutliche Vereinfachung. Alles weitere könnte man ja in einem darauf aufbauenden Skript realisieren.

Ich habe zwei Textfelder genommen, da ich kein Spaltenlayout (ungerade/gerade Seite) unterscheiden konnte und manche Seiten z.B. 20 Fußnoten und 8 Randnoten haben. So müsste ich die Randnoten-Textfelder nur bündig mit der ersten Zeile verankern und hätte eine Lösung analog zu einer "schmalen Spalte, immer an der Außenseite des Buches".

Das Skript war auch in erster Linie dazu da, die verwendbaren Daten darzustellen, es kann auch ein autarkes Skript sein, das im Nachgang ausgeführt wird...

Vielen Dank schon mal, Oliver Attendorn


als Antwort auf: [#516966]

VBA-Skript für Fußnoten-Defizit-Workaround

attisoft
Beiträge gesamt: 4

25. Sep 2013, 11:09
Beitrag # 4 von 4
Beitrag ID: #517743
Bewertung:
(3137 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebes Forum,

kennt niemand eine Lösung, wie per Skript ein Textfeld adressiert und Fußnotenwert/-text hineingeschrieben wird? Ich bekomme das leider nicht hin...

Die Textfelder würde ich notfalls manuell setzen/verankern...

Nochmal das Skript Stand heute:

Code
Sub TestFussnotenErzeugen()  

'***Findet den geklamerten Text***
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "{X" 'als Beispiel die Schleife für die Fußnoten
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.Extend
Selection.Extend Character:="}"
Selection.Cut
'***Fügt den zwischengespeicherten Text als Fußnote ein***
With ActiveDocument.Range(Start:=ActiveDocument.Content.Start, End:=ActiveDocument.Content.End)
With .FootnoteOptions
.Location = wdBottomOfPage
.NumberingRule = wdRestartContinuous
.StartingNumber = 1
.NumberStyle = wdNoteNumberStyleArabic
End With
.Footnotes.Add Range:=Selection.Range, Reference:=""
End With
Selection.PasteAndFormat (wdPasteDefault)
'***Wiederholt die ersten beiden Schritte, bis keine Klammern mehr gefunden werden***
On Error GoTo Ende
Call TestFussnotenErzeugen
Ende:
End Sub


Viele Grüße aus dem Norden,
Oliver


als Antwort auf: [#516967]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
01.12.2022

Online
Donnerstag, 01. Dez. 2022, 10.00 - 10.45 Uhr

Webinar

Die drei ColorLogic-Programme ZePrA, CoPrA und ColorAnt sind in neuen Versionen mit vielen neuen Funktionen im Jahr 2022 veröffentlich worden oder werden in Kürze veröffentlicht (ColorAnt 9). In unserem ca. 45 minütigen kostenlosen Webinar zeigen wir Ihnen einige dieser neuen Funktionen mit dem Schwerpunkt auf Automatisierung und Produktivitätssteigerungen.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=311

ColorLogic Update-Webinar ZePrA 10, CoPrA 9 und ColorAnt 9
Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/