einen Textrahmen per Makro löschen

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

Hallo,

kann man einen Textrahmen in einem Dokument per Makro finden und löschen?

Hintergrung:
Ich habe in einem Dokument (Lieferschein) einen Rahmen mit Text, der zunächst benötigt wird, aber im zweiten Arbeitsschritt (Änderung des Lieferscheins in eine Rechnung) gelöscht werden soll.
Kann man den Schritt automatisieren?

Dank schon mal,
Uwe
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

Re: einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

gast freedom hat geschrieben: warum nicht über den Navigator F5?
Hallo gf,

gute Idee, könnte klappen....

*test*

klappt leider nicht im Makro,
schade. Aber die Idee war schon mal gut
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

Re: einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

gast freedom hat geschrieben:
klappt leider nicht im Makro,
in was für einem Makro? Eingangs ist keine Rede von einem vorhandenen Makro.
Das Dokument muß ein wenig umgebaut werden.
Einige Passagen müssen weg, andere Passagen sollen rein.
Dazu muß eben dieser Rahmen mit Text weg.

Mit einem (zu erstellenden) Makro wär das sehr praktisch in einem Schritt zu machen, denke ich :-9
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

Lupf: einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

Vielleicht ist ja nun eine Möglichkeit ausgetaucht, per Makro einen Rahmen im Dokument zu finden und zu entfernen.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: einen Textrahmen per Makro löschen

Beitrag von clag »

Hallo Zollstocks_Office,
Zollstocks_Office hat geschrieben:Vielleicht ist ja nun eine Möglichkeit ausgetaucht,
Die Möglichkeiten dazu existieren schon seit es OO gibt, allerdings man muss sie finden wollen ! :D

Hier ein Beispiel wie man die vorhandenen Möglichkeiten nutzen kann.
Textrahmen_löschen.odt
(16.33 KiB) 79-mal heruntergeladen
hilft dir das?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

Re: einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

clag hat geschrieben:Hallo Zollstocks_Office,
Zollstocks_Office hat geschrieben:Vielleicht ist ja nun eine Möglichkeit ausgetaucht,
Die Möglichkeiten dazu existieren schon seit es OO gibt, allerdings man muss sie finden wollen :D
Leider sind 'Wollen' und 'Können' zwei unterschiedliche Paar Stiefel...
clag hat geschrieben:
Hier ein Beispiel wie man die vorhandenen Möglichkeiten nutzen kann.
Textrahmen_löschen.odt
hilft dir das?
Ich habe Lesestoff, wenn auch das Mkro irgendwo hängt:
Bild

Ich will das mal etwas vereinfacht testen, denn der zu entfernende Rahmen hat genau einen Namen, man muß ihn also nicht abfragen, sondern kann ihn gleich im Makro fest eintragen.

Dir schon mal vielen Dank, ich hoffe, ich bekomme nun meine Aufgabe in den Griff!
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: einen Textrahmen per Makro löschen

Beitrag von clag »

Hallo Zollstocks_Office,

statt eines seitenfüllenden, nichtssagenden, verschwommenen Screenshot wäre ein lesbarer Auszug hilfreich gewesen.

Und wenn es denn das an das Dokument gehängte Makro darstellen soll,
tritt der zu erahnende Fehler nur auf, wenn ein Name angegeben wird unter dem kein Textrahmen im Dokument gelistet ist.

Aber einen Namen aus einer Semikolon getrennten Auflistung korrekt zu übernehmen ist jetzt nicht das Problem, oder?
Du musst schon genau beschreiben worin das Problem für dich besteht, diese Eingabe mit einem gültigen Namen zu füttern.

Zur Hilfestellung hast du ja noch einen Button, der wenn du ihn anklickst alle gültigen Namen auflistet.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

Re: einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

Hallo Clag,
clag hat geschrieben:Hallo Zollstocks_Office,

statt eines seitenfüllenden, nichtssagenden, verschwommenen Screenshot wäre ein lesbarer Auszug hilfreich gewesen.
Ich bitte um Verzeihung, ich habe nicht erwartet, das der Screenshot so schlecht zu lesen ist.

Ich lese dann mal die Meldung vor:
Basic-Laufzeitfehler
Es ist eine Exception aufgetreten.
Type com.sun.star.contauner.NoSuchElementException
Message: ,
dazu ein Marker vor der Zeile
oFrame=oFrames.getByName(InputString)

Du kannst sonst auch mal hier klicken:
https://www.dropbox.com/s/fy9xq0i1ny42k ... 2.png?dl=0
clag hat geschrieben: Und wenn es denn das an das Dokument gehängte Makro darstellen soll,
tritt der zu erahnende Fehler nur auf, wenn ein Name angegeben wird unter dem kein Textrahmen im Dokument gelistet ist.

Aber einen Namen aus einer Semikolon getrennten Auflistung korrekt zu übernehmen ist jetzt nicht das Problem, oder?
Wenn ich genau einen der Rahmen mit der angegebenen Bezeichnung auswähle, gibt es eine andere Meldung:
Basic Laufzeitfehler.
Objektvariable nicht belegt.
Ich habe auch darauf geachtet, das nur die Bezeichnung markiert ist, keine überzähligen Leer- oder sonstigen Zeichen stehen zu lassen.
Trotzdem kommt nur die Fehlermeldung, es geht aber keiner der Rahmen.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: einen Textrahmen per Makro löschen

Beitrag von clag »

hallo

"auswählen" meint diesen einen Namen des zu löschenden Textrahmen in der Eingabezeile und sonst nichts.
textrahmen2_loeschen.png
textrahmen2_loeschen.png (6.64 KiB) 5851 mal betrachtet
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

Re: einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

Na dann mal in kleinen Schritten,was ich gemacht habe.

alle Rahmen einmal auflisten:

Bild

Das funktioniert wunderbar.

Nun mal die Schaltfläche zum Löschen betätigen.

Bild

Einen der Rahmen aussuchen:

Bild

Abfrage bestätigen:

Bild

Fehlermeldung bekommen:

Bild


:?: Was läuft hier falsch? :?:
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: einen Textrahmen per Makro löschen

Beitrag von clag »

Hallo,

Hast du am Makro Code etwas geändert?

Lade die Datei einfach erneut runter und versuch es dann noch einmal.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

Re: einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

clag hat geschrieben: Hast du am Makro Code etwas geändert?

Lade die Datei einfach erneut runter und versuch es dann noch einmal.
Ich hatte am Code nichts geändert.
Nun beim zweiten Versuch funktioniert das Makro auch.
Besten Dank noch mal, ich werde heute Abend noch mal etwas basteln.

Lieben Gruß,
Uwe
Zollstocks_Office
**
Beiträge: 27
Registriert: Mi, 28.08.2013 12:13

*Gelöst* einen Textrahmen per Makro löschen

Beitrag von Zollstocks_Office »

Hallo,

danke noch mal für die Hilfe.
Ich habe mir den Code ein wenig zusammengestrichen zu:

Code: Alles auswählen

sub deleteframe
	odocument=thiscomponent
	alleRahmen = odocument.textframes.elementnames
	InputString = "Rahmen1"
		oFrames=odocument.getTextFrames()
		oFrame=oFrames.getByName(InputString)
		oFrame.dispose()
End Sub
und schon funktioniert es wie gewünscht.
Danke noch mal für die Hilfe und die Geduld,
Uwe
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: einen Textrahmen per Makro löschen

Beitrag von clag »

Halo Zollstocks_Office,

wenn es nur darum geht einen namentlich bekannten Textrahmen zu löschen,
kannst du den Code noch weiter eindampfen und einen Einzeiler daraus machen

Code: Alles auswählen

sub deleteframe
	thiscomponent.getTextFrames().getByName("Rahmen3").dispose       
End Sub
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten