Seite 1 von 1

Bitmap aus Systemclipboard in Writer einfügen

Verfasst: Fr 20. Apr 2018, 14:27
von DavidG
Hallo,

ich brauche Hilfe in Bezug auf diesen Thread: viewtopic.php?f=5&t=18770

folgendes Szenario:
Ein Snapshot aus einem PDF-Reader in Form eines Bitmaps soll über die Zwischenablage in ein Dokument eingefügt werden.
Diese Aktion erfolgt dreimal, gemäß folgendem Ablaufplan:
A)
  1. Bitmap aus Systemclipboard einfügen
  2. Bitmap zuschneiden
  3. Bitmapgröße ändern
  4. Bitmap an seine Zielposition verschieben
  5. Bildmarkierung aufheben
B)
  1. Bitmap aus Systemclipboard einfügen
  2. Bitmap zuschneiden
  3. Bitmapgröße ändern
  4. Bitmap an seine Zielposition verschieben
  5. Bildmarkierung aufheben
C)
  1. Bitmap aus Systemclipboard einfügen
  2. Bitmap zuschneiden
  3. Bitmapgröße ändern
  4. Bitmap an seine Zielposition verschieben
  5. Bildmarkierung aufheben
Habe ein Makro aufgezeichnet, aber die Dispatcher-Methode scheint etwas unzuverläßig zu sein. Wenn ich den Dispatcher separat, ohne den anderen Code ausführe, dann muß ich die Markierung des eingefügten Bitmaps manuell aufheben, damit ein weitersmal ein Bitmap per Code eingefügt werden kann, aber selbst dann kommt es vor, dass keinerlei Aktion passiert. Das System-Clipboard scheint leer zu sein oder hat den Fokus verloren.

Code: Alles auswählen

REM  *****  BASIC  *****
Sub Main
rem ----------------------------------------------------------------------
rem define variables
Dim oDoc   as object
Dim oCC   as object
Dim oFrame as Object
Dim dispatcher as object

		oDoc= ThisComponent
		oCC=oDoc.CurrentController
' 		mri oDoc
'		mri occ
rem ----------------------------------------------------------------------
rem get access to the document
oFrame   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(oFrame, ".uno:Paste", "", 0, Array())

End Sub
Der Code aus diesem Wiki (https://wiki.documentfoundation.org/Macros/Writer/005) erfasst Text aus der Zwischenablage. Diesen habe ich versucht, so anzupassen, dass per Mimetyp Änderung, etc. ein Bitmap erfasst wird. Dieses ist mir jedoch nicht gelungen.
Mimetype zum Beispiel: application/x-openoffice;windows_formatname="Bitmap"
Dieses konte ich auch nicht umsetzen:
The next example shows this for a bitmap.

Das Makro für das Zuschneiden, usw. ist bereits fertig.
Es fehlen mir die folgende Methoden:
  1. Bitmap aus Zwischablage einfügen.
  2. Markierung/ Selektion des eingefügten Bildes aufheben.
Erbitte Hilfe, vielen Dank

Gruß
David