Word VBA - Überschriften bzw. Kapitel mit Steuerelement Kontrollbox hinzufügen und entfernen

Mitglied: Pat.bat

Pat.bat (Level 1) - Jetzt verbinden

26.03.2020, aktualisiert 14:36 Uhr, 599 Aufrufe, 8 Kommentare

Hallo zusammen,

nach einigen Stunden des Probierens und Googlens wende ich mich nun an euch in der Hoffnung das jemand eine Idee hat.

Ich habe ein Dokument das derzeit 10 Überschriften bzw. Kapitel hat die man in der Navigationsansicht auffinden kann.

Nun habe ich oben im Dokument eine Liste an Checkboxen (Steuerelemente).

Das SOLL so aussehen, das das Dokument bis auf der ersten Seite mit den Checkboxen leer ist. Setzt man nun eine Checkbox auf True, dann wird das entsprechende Kapitel am Ende des Dokuments eingefügt. Nehme ich das Häkchen wieder raus, dann soll das Dokument gelöscht werden.

Dabei werden die Texte als Autoteste gespeichert und in einer dotx hinterlegt, bzw. das Dokument in dem ich arbeite ist ein dotx.

Mit Mühe und Brechen habe ich dieses Stückchen Skript hinbekommen, sodass er mir am Ende des Dokuments schon mal was einfügt:

Der Else-Strang funktioniert nicht, da er den bookmark nicht findet. Ich bin mir aber auch nicht sicher ob das die richtige Herangehensweise ist :s
Mitglied: emeriks
LÖSUNG 26.03.2020 um 15:58 Uhr
Hi,
ich denke, im "True"-Block musst Du das Bookmark erst definieren, damit Du es später finden kannst.

E.
Bitte warten ..
Mitglied: Pat.bat
26.03.2020 um 16:41 Uhr
Hm, dann ist Bookmark vielleicht falsch, da ich ja mit InsertAutoText einen Text hinzufüge der eine Überschrift im Format Überschrift1 hat und dadurch ist dieser dann in der Navigationsansicht verfügbar. D.h. ich kann den Textblock auch darüber per Maus löschen. Aber Ideal wäre es, wenn das alles über die Checkbox geht.

antrag auf - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: emeriks
26.03.2020 um 16:47 Uhr
Hast Du das mit der von mir hinzugefügten Zeile 11 versucht?
Bitte warten ..
Mitglied: Pat.bat
26.03.2020, aktualisiert um 17:36 Uhr
Er gibt mir dann immer die Meldung "Ungültiger Textmarkenname", erstellt den Text aber durch das deaktivieren der checkbox passiert nichts, außer das die messagebox hoch kommt und den Wert 1 ausgibt.

EDIT: OK jetzt funktioniert es zumindest ohne Fehlermeldung, Bookmarks.Add kann nichts mit Leerzeichen, allerdings löscht er mit dem deaktivieren der Checkbox immernoch nicht den Textblock
Bitte warten ..
Mitglied: Pat.bat
26.03.2020 um 17:53 Uhr
@emeriks dein Vorschlag schein soweit zu funktionieren. Jetzt muss ich nur noch die

zum laufen bekommen. Leider gibt es online kaum referencen wie dies zu benutzen ist. Aber die Beschreibung zu HeadingLine passt auf jeden Fall schon mal:

\HeadingLevel: Die Überschrift, welche die Einfügemarke oder die Markierung mit untergeordneten Überschriften und Text enthält. Handelt es sich bei der aktuellen Markierung um Textkörper, schließt die Textmarke "\HeadingLevel" die vorhergehende Überschrift mit allen Überschriften und allem Text ein, die der Überschrift untergeordnet sind.
Bitte warten ..
Mitglied: Pat.bat
26.03.2020 um 18:38 Uhr
OK ich denke ich bin der Lösung nahe, aber noch will er nicht den Bookmark finden:

In dem Else, bei Bookmarks(strBookmark).Select führt er es ordentlich aus, aber dann bei der letzten Anweisung gibt er mir einen Laufzeitfehler: 5941
Das angeforderte Element ist nicht in der Sammlung vorhanden.

Warum findet er die Selection nun nicht? :S
Bitte warten ..
Mitglied: emeriks
27.03.2020 um 08:06 Uhr
Warum in Zeile 17 nicht einfach ...?
Bitte warten ..
Mitglied: Pat.bat
27.03.2020 um 08:43 Uhr
@emeriks

weil er dann nicht den ganzen Blocktext löscht. Mit folgendem Skript habe ich es nun hinbekommen, das er einen Autotext per Checkbox hinzufügt und komplett wieder raus löscht + extra Seitenumbruch:

Bitte warten ..
Heiß diskutierte Inhalte
Firewall
Pfsense plus für Geschäftskunden
Looser27Vor 1 TagInformationFirewall17 Kommentare

Netgate wird in Zukunft die Open Source Firewall pfSense hauptsächlich als kommerzielle Version unter dem Namen pfSense Plus vermarkten. Die "Community Version" wird weiter ...

Off Topic
HomeOffice Pflicht - Büroaustattung vom Arbeitgeber?
h45okeg493sVor 12 StundenFrageOff Topic34 Kommentare

Hallo zusammen, aufgrund der HomeOffice Situation wollte ich mal rumfragen, muss der Arbeitgeber neben der Hardware wie Notebook, etc. auch Büroausstattung wie Bürostühle zur ...

Server-Hardware
Gebrauchte Server von eBay-Kleinanzeigen
dh2411Vor 1 TagFrageServer-Hardware15 Kommentare

Hallo zusammen, neulich war ich auf eBay-Kleinanzeigen unterwegs und dort wurden mir einige Server vorgeschlagen. Ich habe dort auch meinen aktuellen Home-Server recht günstig ...

Backup
Backupmöglichkeit Teamviewer
gelöst greenhorn1Vor 1 TagFrageBackup16 Kommentare

Hallo, ich habe bei meiner Teamviewer Lizenz die Möglichkeit ein Backup des PC´s durchzuführen. Leider funktioniert das nicht! Nach Rückfrage an Teamviewer erhielt ich ...

Firewall
Sonicwall: Angreifer sind über eine SMA 100 ins eigene Netzwerk eingedrungen
Looser27Vor 1 TagInformationFirewall1 Kommentar

Bei SonicWal sind nach eigenen Angaben wohl Angreifer mit Hilfe von Zero-Day-Attacken ins eigene Netzwerk eingedrungen. Nach ersten Analysen handelt es sich dabei um ...

Webentwicklung
Webseite LAMP auf USB-Stick mit Minimalsystem?
mirmichVor 1 TagFrageWebentwicklung11 Kommentare

Hallo, eine Webseite soll "archiviert" aber lokal lauffähig bleiben. Die "neue Webseite" läuft auf einer aktuellen PHP Version - die "alte Webseite" auf einer ...

Grafikkarten & Monitore
Zweiter Bildschirm geht sporadisch immer aus?!
GeronimooVor 1 TagFrageGrafikkarten & Monitore7 Kommentare

Moin zusammen, ich habe ein Problem mit meinem 2. Monitor und zwar geht dieser sporadisch immer für 1-2 Sekunden aus oder flackert ein bisschen ...

Switche und Hubs
Kurioses Problem IP Adresse ändern am Cisco SG350 10p
gelöst Xaero1982Vor 10 StundenFrageSwitche und Hubs16 Kommentare

Moin Zusammen, ich habe hier einen neuen Cisco SG350 10p. Wie schon so oft wollte ich ihm eine neue IP geben, also gehe ich ...