Makro: Nur Inhalt einfuegen, ohne Umbrueche

Moin.

Es geht um das Einfügen von Inhalten aus der Zwischenablage.

Der kopierte Inhalt enthält Zeilenumbrüche, die man im Zieldokument
nicht benötigt.
Und der kopierte Inhalt enthält Formatierung, die beim normalen
Einfügen von LO interpretiert werden, jedoch unerwünscht sind. Es soll
reiner Text eingefügt werden.

Das Verfahren ist länglich:

Bearbeiten
Inhalte einfügen
Pfeiltaste unten
Pfeiltaste unten
Enter

Jetzt noch manuell oder per Suchen&Ersetzen alle Zeilenumbrüche
entfernen und ggfs. durch ein Leerzeichen ersetzen

Ein mühsames Geschäft für eine Standardaufgabe.

Kennt jemand dafür Makro oder sonst eine Beschleunigung/Vereinfachung?

Danke.

Andreas

Hallo Andreas,

Es geht um das Einfügen von Inhalten aus der Zwischenablage.

Der kopierte Inhalt enthält Zeilenumbrüche, die man im Zieldokument
nicht benötigt.
Und der kopierte Inhalt enthält Formatierung, die beim normalen
Einfügen von LO interpretiert werden, jedoch unerwünscht sind. Es soll
reiner Text eingefügt werden.

Kennt jemand dafür Makro oder sonst eine Beschleunigung/Vereinfachung?

Was hältst du davon, auf den Abwärtspfeil des Einfügen-Buttons zu
klicken und im dann aufgehenden Menü 'unformatierter Text' auszuwählen?

Andreas

.... und tschüss

            Franklin

Franklin Schiftan schrieb:

Hallo Andreas,

Es geht um das Einfügen von Inhalten aus der Zwischenablage.

Der kopierte Inhalt enthält Zeilenumbrüche, die man im Zieldokument
nicht benötigt.
Und der kopierte Inhalt enthält Formatierung, die beim normalen
Einfügen von LO interpretiert werden, jedoch unerwünscht sind. Es soll
reiner Text eingefügt werden.

Kennt jemand dafür Makro oder sonst eine Beschleunigung/Vereinfachung?

Was hältst du davon, auf den Abwärtspfeil des Einfügen-Buttons zu
klicken und im dann aufgehenden Menü 'unformatierter Text' auszuwählen?

Hab' ich doch. :slight_smile:
Siehe Ausgangsposting.
Zweimal Pfeiltaste drücken wählt "Unformatierter Text" aus.
Hätte ich besser reinschreiben sollen.

Aber schon diese Anzahl an Schritten ist mir hoch.
Ein einziger Schritt soll es sein.
So wie STRG+C.

Und wie ich geschrieben habe, werden beim "Einfügen als unformatierter
Text" sämtliche Absätze eingefügt.

Andreas

Hallo Andreas,

Es geht um das Einfügen von Inhalten aus der Zwischenablage.

Der kopierte Inhalt enthält Zeilenumbrüche, die man im Zieldokument
nicht benötigt.
Und der kopierte Inhalt enthält Formatierung, die beim normalen
Einfügen von LO interpretiert werden, jedoch unerwünscht sind. Es soll
reiner Text eingefügt werden.

Kennt jemand dafür Makro oder sonst eine Beschleunigung/Vereinfachung?

Was hältst du davon, auf den Abwärtspfeil des Einfügen-Buttons zu
klicken und im dann aufgehenden Menü 'unformatierter Text' auszuwählen?

Hab' ich doch. :slight_smile:
Siehe Ausgangsposting.

Nee, nee, da schriebst du was vom Menü-Befehl Bearbeiten, dann Inhalte
einfügen etc.

Zweimal Pfeiltaste drücken wählt "Unformatierter Text" aus.
Hätte ich besser reinschreiben sollen.

Aber schon diese Anzahl an Schritten ist mir hoch.
Ein einziger Schritt soll es sein.

Ist es doch auch: Linksklick auf den Pfeil, festhalten und ein
bisschen runter mit der Maus und dann auf 'Unformatierter Text' wieder
loslassen. Das ist auch nicht viel langsamer als <strg><v>.

So wie STRG+C.

Und wie ich geschrieben habe, werden beim "Einfügen als unformatierter
Text" sämtliche Absätze eingefügt.

O.k., das würd' ich dann mit AltSearch vermutlich auch relativ schnell
wegbekommen.

Andreas

.... und tschüss

            Franklin

Hallo Andreas

hier ist ein Makro von mir, mit dem du den Text aus der Zwischenablage holen kannst, und zwar unformatiert.
https://sites.google.com/site/starbasicmakros/makros-1/generell/text-aus-zwischenablage-holen

Mit dem folgenden Makro kannst du dann die Absätze entfernen.

sub clpboardTest
dim sText As string
Dim aText () as string
   sText= (getClipboardText)

   aText = Split(sText,Chr(10))
   sText = Join(aText)

   aText = Split(sText,Chr(13))
   sText = Join(aText)

end sub

Gruß Frieder

Hallo Frieder,

Vorschlag: stell doch bitte Dein Makro ins Wiki. Falls ich am Erklärungstext meine etwas verbessern zu müssen, werde ich dies machen. Oder soll ich das machen?

Gruß

Jochen

Hallo Frieder,

Oder soll ich das machen?

Ich habe den Makro-Code ins Wiki gestellt [1].

[1] http://wiki.documentfoundation.org/Macros/de/Makros_für_Writer

Gruß

Jochen

Hallo Jochen
ich habe es mal korrigiert.
Ich stelle meine Makros lieber selber online.
Denn
1. war der Code so nicht lauffähig, den er greift auf die Funktion
http://wiki.documentfoundation.org/Macros/de/Modulübergreifende-Makros/getClipboardText <http://wiki.documentfoundation.org/Macros/de/Modulübergreifende-Makros/getClipboardText>
zu.
und 2. hast du die Seite als Unterseite von http://wiki.documentfoundation.org/Macros/de
statt http://wiki.documentfoundation.org/Macros/de/Makros_für_Writer
angelegt, und 3. fügt das Makro so wie es im Moment ist überhaupt-nichts ein.

Gruß Frieder

Franklin Schiftan schrieb:

Was hältst du davon, auf den Abwärtspfeil des Einfügen-Buttons zu
klicken und im dann aufgehenden Menü 'unformatierter Text' auszuwählen?

Hab' ich doch. :slight_smile:
Siehe Ausgangsposting.

Nee, nee, da schriebst du was vom Menü-Befehl Bearbeiten, dann Inhalte
einfügen etc.

Da irrst Du.
Öffne mal bitte "Bearbeiten > Inhalte einfügen" und betätige dann
zweimal die Pfeil-unten-Taste.

Siehste:
Zweimal Pfeiltaste hat denselben Effekt wie "Zur Maus greifen, Maus
bewegen bis sie über unformatierter Text steht, dann Linksklick".

Du erkennst jetzt, dass es eine gigantische Anzahl von Einzelschritten
sind, bis man am Ziel ist.

Auf Wunsch liste ich gerne auch nochmal jeden Einzelschritt auf.
Einzelschritt heißt: Jede Handbewegung, jeder Fingertipp zählt als
Schritt.

Und wie ich geschrieben habe, werden beim "Einfügen als unformatierter
Text" sämtliche Absätze eingefügt.

O.k., das würd' ich dann mit AltSearch vermutlich auch relativ schnell
wegbekommen.

"Relativ": Ja.
"Schnell": Nein.

:slight_smile:

Andreas

Frieder schrieb:

https://sites.google.com/site/starbasicmakros/makros-1/generell/text-aus-zwischenablage-holen

Mit dem folgenden Makro kannst du dann die Absätze entfernen. [...]

Was soll ich sagen?
Danke, Frieder! :slight_smile:

Echt nett von Dir.
Ich hoffe, dass auch viele andere Freude daran haben.
So ein Makro wünschte ich mir schon länger.

Ich warte mit dem Probieren noch, bis die Einfügefunktion drin ist.

Andreas

Franklin Schiftan schrieb:

Was hältst du davon, auf den Abwärtspfeil des Einfügen-Buttons zu
klicken und im dann aufgehenden Menü 'unformatierter Text' auszuwählen?

Hab' ich doch. :slight_smile:
Siehe Ausgangsposting.

Nee, nee, da schriebst du was vom Menü-Befehl Bearbeiten, dann Inhalte
einfügen etc.

Da irrst Du.
Öffne mal bitte "Bearbeiten > Inhalte einfügen" und betätige dann
zweimal die Pfeil-unten-Taste.

Siehste:
Zweimal Pfeiltaste hat denselben Effekt wie "Zur Maus greifen, Maus
bewegen bis sie über unformatierter Text steht, dann Linksklick".

Du erkennst jetzt, dass es eine gigantische Anzahl von Einzelschritten
sind, bis man am Ziel ist.

Auf Wunsch liste ich gerne auch nochmal jeden Einzelschritt auf.
Einzelschritt heißt: Jede Handbewegung, jeder Fingertipp zählt als
Schritt.

Und wie ich geschrieben habe, werden beim "Einfügen als unformatierter
Text" sämtliche Absätze eingefügt.

O.k., das würd' ich dann mit AltSearch vermutlich auch relativ schnell
wegbekommen.

"Relativ": Ja.
"Schnell": Nein.

:slight_smile:

Andreas

Hallo Andreas

Jetzt ist alles drin.
Hier der Link.
http://wiki.documentfoundation.org/Macros/de/Makros_für_Writer

Gruß Frieder

Frieder schrieb:

https://sites.google.com/site/starbasicmakros/makros-1/generell/text-aus-zwischenablage-holen

Mit dem folgenden Makro kannst du dann die Absätze entfernen. [...]

Was soll ich sagen?
Danke, Frieder! :slight_smile:

Echt nett von Dir.
Ich hoffe, dass auch viele andere Freude daran haben.
So ein Makro wünschte ich mir schon länger.

Ich warte mit dem Probieren noch, bis die Einfügefunktion drin ist.

Andreas

Hallo Andreas

Jetzt ist alles drin.
Hier der Link.
http://wiki.documentfoundation.org/Macros/de/Makros_für_Writer

Ich habe die Hauptfunktion von
http://wiki.documentfoundation.org/Macros/de/Modulübergreifende-Makros/getClipboardText
in dieselbe Makrodatei kopiert wie das Makro von
http://wiki.documentfoundation.org/Macros/de/Makros_für_Writer

Wenn ich speichere erscheint die Meldung
"Basic Syntaxfehler.
Sub- oder Function-Prozedur GetClipboaardText bereits definiert"

Verstehe ich es richtig, dass die Hauptfunktion zwingend ein einer
anderen Makrodatei gespeichert sein muss?

Andreas

Hallo Andreas

wenn du den Code gelesen hättest,
würdest du feststellen, dass ich di Funktion "GetClipboaardText"
bereits an der richtige Stelle eingefügt habe.
Du musst also nur alles was in der Codebox auf http://wiki.documentfoundation.org/Macros/de/Makros_für_Writer/Download_To_File/Text_aus_der_Zwischenablage_holen
steht in ein Modul kopieren, und das Sub "insert_Clpboard_Text_in_Writer" mit einer Tastenkombination belegen.
(Extras -> Anpassen -> Tastatur-> Libreoffice Makros ->User->standard->Dein mudl->"insert_Clpboard_Text_in_Writer"->Tastenkombination festlegen->OK

Gruß Frieder

Frieder schrieb:

Wenn ich speichere erscheint die Meldung
"Basic Syntaxfehler.
Sub- oder Function-Prozedur GetClipboaardText bereits definiert"

Verstehe ich es richtig, dass die Hauptfunktion zwingend ein einer
anderen Makrodatei gespeichert sein muss?

wenn du den Code gelesen hättest,
würdest du feststellen, dass ich di Funktion "GetClipboaardText"
bereits an der richtige Stelle eingefügt habe.
Du musst also nur alles was in der Codebox auf
http://wiki.documentfoundation.org/Macros/de/Makros_für_Writer/Download_To_File/Text_aus_der_Zwischenablage_holen
steht in ein Modul kopieren, und das Sub
"insert_Clpboard_Text_in_Writer" mit einer Tastenkombination belegen.
(Extras -> Anpassen -> Tastatur-> Libreoffice Makros
->User->standard->Dein
mudl->"insert_Clpboard_Text_in_Writer"->Tastenkombination festlegen->OK

Danke für Deinen Hinweis.

Ich habe das jetzt so gemacht wie beschrieben.

Nun erhalte ich eine Fehlermeldung, die offenbar auf eine
"Unverträglichkeit" des neuen Makros mit einem alten hindeutet.

Sub TitelPostfixAusblenden
  For i = 0 to Stardesktop.Frames.count-1

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  titel = stardesktop.Frames(i).title
  If right(titel,21) = " - LibreOffice Writer" Then
  stardesktop.Frames(i).title = left(titel,(len(titel)-21))
  End If
  Next i
End sub

Die Meldung lautet:
Basic-Laufzeitfehler. Variable nicht definiert.
Dabei wird in der Makrodatei die Zeile hervorgehoben, die ich mit "^"
gekennzeichnet habe.

Es liegt mir fern, Dich belästigen zu wollen.
Bitte sieh' meiner Antwort keine "Erwartung", dass Du Dich um diese
Sache kümmerst.

Ich werde wohl beizeiten noch herauskriegen, was schief läuft.

Andreas

Hallo Andreas
ich habe bei dem Makro Option Explicit verwendet.

Option Explicit

Das bedeutet, dass in allen Makros, die im gleichen Modul sind alle Variablen mit "Dim" deklariert werden müssen.
deshalb solltest du das Makro in ein neues Modul kopieren.
(oder du Remmst die Zeile mit Option Explicit.)

Gruß Frieder

Frieder schrieb:

ich habe bei dem Makro Option Explicit verwendet.

Option Explicit

Das bedeutet, dass in allen Makros, die im gleichen Modul sind alle
Variablen mit "Dim" deklariert werden müssen.
deshalb solltest du das Makro in ein neues Modul kopieren.
(oder du Remmst die Zeile mit Option Explicit.)

Hhmm.
Irgendwas mache ich offenbar verkehrt, nur was?

Ich habe, wie Du vorschlägst, Option Explicit "geremmt" und das
gesamte Makro von Dir in ein bereits existierendes Modul mit anderen
sehr einfachen Makros kopiert.

REM Option Explicit

sub insert_Clpboard_Text_in_Writer
dim sText As string
...
If (i >= 0) Then
  On Error Resume Next
  getClipboardText = oConverter.convertToSimpleType _
               (oClipContents.getTransferData(oTypes(i)), com.sun.star.uno.TypeClass.STRING)
End If
End Function

Sobald ich die Makroverwaltung aufrufe und das Makro zum Bearbeiten
öffne, oder wenn ich in Anpassen > Tastatur das Makromodul auswähle
stürzt LO reproduzierbar ab.

Irgendwas in Deinem Code beißt sich offenbar mit existierendem
Makrocode.

Natürlich werde ich noch die andere Varianate probieren, Deinen Code
in einem separaten Modul zu speichern, aber vielleicht ist mein
Feedback ja dennoch nützlich, damit so vielleicht andere Nutzer das
von mir beschriebene Problem vermeiden können.

Andreas

Franklin Schiftan schrieb:

Was hältst du davon, auf den Abwärtspfeil des Einfügen-Buttons zu
klicken und im dann aufgehenden Menü 'unformatierter Text' auszuwählen?

Danke, Franklin,

den Pfeil neben dem Button hatte ich aus irgendeinem Grunde noch nie bemerkt. Jedenfalls bin ich bisher auch immer über das Menü gegangen und habe mich geärgert, dass das so aufwändig ist.

Geht echt schön schnell so auf diese Weise Text unformatiert einzufügen.

Michael