💚 BITTE helfen Sie uns NOCH HEUTE mit einer SPENDE 💚
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Hallo zusammen!
Ich möchte mehrere Bilder gleichzeitig in WRITER importieren und zwar so, dass die Bilder nicht eingebettet werden, sondern das eine Verknüpfung zur Originaldatei bestehen bleibt. (Zu einem späteren Zeitpunkt werden die Bilddateien gegen jeweils verbesserte Versionen ausgetauscht).
Wenn ich mehrere Bilder per "drag and drop" in WRITER importiere werden diese eingebettet. Es macht auch keinen Unterschied, ob die STRG-Taste gedrückt ist.
Über den Weg "Einfügen- Bild" besteht zwar eine Wahlmöglichkeit, aber es kann jeweils nur ein einziges Bild importiert werden.
Exisitiert ein Möglichkeit mehrere Bilder gleichzeitig in WRITER einzubetten?
Viele Grüße
-ftomasch
Ich möchte mehrere Bilder gleichzeitig in WRITER importieren und zwar so, dass die Bilder nicht eingebettet werden, sondern das eine Verknüpfung zur Originaldatei bestehen bleibt. (Zu einem späteren Zeitpunkt werden die Bilddateien gegen jeweils verbesserte Versionen ausgetauscht).
Wenn ich mehrere Bilder per "drag and drop" in WRITER importiere werden diese eingebettet. Es macht auch keinen Unterschied, ob die STRG-Taste gedrückt ist.
Über den Weg "Einfügen- Bild" besteht zwar eine Wahlmöglichkeit, aber es kann jeweils nur ein einziges Bild importiert werden.
Exisitiert ein Möglichkeit mehrere Bilder gleichzeitig in WRITER einzubetten?
Viele Grüße
-ftomasch
Re: Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Moin,
wohl nur per Makro:
Damit das Makro laufen darf, stellst du unter Extras/Optionen/Openoffice oder LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe Mittel ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Starten musst du dann
Viel Erfolg
Gruß R
wohl nur per Makro:
Code: Alles auswählen
Sub S_insert_Pictures
Dim O_S As New com.sun.star.awt.Size
Dim S_M As New com.sun.star.awt.Size
Dim N_S As New com.sun.star.awt.Size
aUrl = F_get_pictures_Url
oTextcursor = thisComponent.Text.createTextCursor
oTextcursor.collapseToStart
S_M.Width = 5000 'maximale Breite
S_M.Height = 5000 'maximale Höhe
For i = 0 to ubound(aUrl)
oGraph = ThisComponent.createInstance("com.sun.star.text.GraphicObject")
With oGraph
.GraphicURL = aUrl(i)
.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
.HoriOrient = 0 'Linksbündig
End With
ThisComponent.Text.insertTextContent(oTextcursor,oGraph,False)'Bild einfügen
'Skalieren
O_S = oGraph.ActualSize
Factor_Width = S_M.width/O_S.width
Factor_Height = S_M.Height/O_S.Height
if Factor_Width <= Factor_Height then 'bestimmen ob die Breite oder die Höhe der begrenzende Faktor ist
factor = Factor_Width
else
factor = Factor_Height
endif
N_S.width = O_S.width * factor
N_S.Height = O_S.Height * factor
oGraph.size = N_S
'Text einfügen
oTextCursor.gotoend(false)
oTextCursor.breaktype = 0
thisComponent.Text.insertControlCharacter(oTextCursor,0 , False)'0 = com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK
oTextCursor.gotoend(false)
next i
end sub
function F_get_pictures_Url
oFilepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
oFilePicker.Initialize(Array(com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE))
oFilepicker.setMultiSelectionMode(true)
oFilepicker.appendFilter( "Graphics Files (*.jpg,.png,.tif,.tiff,.gif,.bmp)","*.jpg;*.png;*.tif;*.tiff;*.gif;*.bmp")
oFilepicker.Title = ("Bilddateien auswählen")
iAccept = oFilepicker.execute()
if iAccept = 0 Then exit function
F_get_pictures_Url = oFilepicker.SelectedFiles
end function
Starten musst du dann
Code: Alles auswählen
S_insert_Pictures
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Makro funktioniert bedauerlicherweise nicht richtig.....
Hallo R!
Das ist eine spannende Möglichkeit.
Vielen Dank für die schnelle Antwort!
Ich habe es gleich ausprobiert.
Leider wird nur das erste Bild aus einer Auswahl eingeladen.
Und dann kommt eine Fehlermeldung.
Leider gehöre ich zu den Nichtprogrammierern.
Was bedeutet die Fehlermeldung?
Kannst du mir weiterhelfen?
Ich habe die Meldung beigefügt.
Viele liebe Grüße
-ftomasch
Das ist eine spannende Möglichkeit.
Vielen Dank für die schnelle Antwort!
Ich habe es gleich ausprobiert.
Leider wird nur das erste Bild aus einer Auswahl eingeladen.
Und dann kommt eine Fehlermeldung.
Leider gehöre ich zu den Nichtprogrammierern.
Was bedeutet die Fehlermeldung?
Kannst du mir weiterhelfen?
Ich habe die Meldung beigefügt.
Viele liebe Grüße
-ftomasch
- Dateianhänge
-
- Makro mehrere Bilder als Verküpfung importieren.png (63.68 KiB) 5960 mal betrachtet
Re: Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Da LibreOffice manchmal zu langsam ist um die Größe der Bild-Dateien auszulesen, liest es Größe=0. Da der Code durch diese Größe didvidiert gibt es einen Fehler. Eigentlich müsste man das Bild zuerst der Drawpage zufügen (hab ich später irgendwo gelesen) oder man löst es, indem man nachträglich jedes eingefügte Bild ändert. Hier mein Hack:
In Linux (Lubuntu) funktioniert bei mir die multi-Selektion mit oFilepicker.SelectedFiles nicht. Geht das bei irgendjemandem?
Mit getFiles() funktioniert der wundervolle Code von F3K_Total (herzlichen Dank!!!) in Linux:
Code: Alles auswählen
Sub S_insert_Pictures
aUrl = F_get_pictures_Url
oTextcursor = thisComponent.Text.createTextCursor
oTextcursor.collapseToStart
For i = 0 to ubound(aUrl)
oGraph = ThisComponent.createInstance("com.sun.star.text.GraphicObject")
With oGraph
.GraphicURL = aUrl(i)
.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
.HoriOrient = 0 'Linksbündig
End With
ThisComponent.Text.insertTextContent(oTextcursor,oGraph,False)'Bild einfügen
oGraph.Width = 1000
oGraph.Height = 1000
'Text einfügen
oTextCursor.gotoend(false)
oTextCursor.breaktype = 0
thisComponent.Text.insertControlCharacter(oTextCursor,0 , False)'0 = com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK
oTextCursor.gotoend(false)
ResizeGraphicToOriginalSize
ResizeGraphicToOriginalSize '2x um sicherzugehen
next i
end sub
function F_get_pictures_Url
oFilepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
oFilePicker.Initialize(Array(com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE))
oFilepicker.setMultiSelectionMode(true)
oFilepicker.appendFilter( "Graphics Files (*.jpg,.png,.tif,.tiff,.gif,.bmp)","*.jpg;*.png;*.tif;*.tiff;*.gif;*.bmp")
oFilepicker.Title = ("Bilddateien auswählen")
iAccept = oFilepicker.execute()
if iAccept = 0 Then exit function
F_get_pictures_Url = oFilepicker.SelectedFiles
end function
Sub ResizeGraphicToOriginalSize
Dim go,g
go = ThisComponent.getGraphicObjects
g = go.getByIndex(go.Count-1)
g.Height = g.actualSize.Height
g.Width = g.actualSize.Width
End Sub
Mit getFiles() funktioniert der wundervolle Code von F3K_Total (herzlichen Dank!!!) in Linux:
Code: Alles auswählen
Sub S_insert_Pictures
aUrl = F_get_pictures_Url
oTextcursor = thisComponent.Text.createTextCursor
oTextcursor.collapseToStart
For i = 1 to ubound(aUrl)
oGraph = ThisComponent.createInstance("com.sun.star.text.GraphicObject")
With oGraph
.GraphicURL = aUrl(0) & aUrl(i)
.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
.HoriOrient = 0 'Linksbündig
End With
ThisComponent.Text.insertTextContent(oTextcursor,oGraph,False)'Bild einfügen
oGraph.Width = 1000
oGraph.Height = 1000
'Text einfügen
oTextCursor.gotoend(false)
oTextCursor.breaktype = 0
thisComponent.Text.insertControlCharacter(oTextCursor,0 , False)'0 = com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK
oTextCursor.gotoend(false)
ResizeGraphicToOriginalSize
ResizeGraphicToOriginalSize '2x um sicherzugehen
next i
end sub
function F_get_pictures_Url
oFilepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
oFilePicker.Initialize(Array(com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE))
oFilepicker.setMultiSelectionMode(true)
oFilepicker.appendFilter( "Graphics Files (*.jpg,.png,.tif,.tiff,.gif,.bmp)","*.jpg;*.png;*.tif;*.tiff;*.gif;*.bmp")
oFilepicker.Title = ("Bilddateien auswählen")
iAccept = oFilepicker.execute()
if iAccept = 0 Then exit function
F_get_pictures_Url = oFilepicker.getFiles()
end function
Sub ResizeGraphicToOriginalSize
Dim go,g
go = ThisComponent.getGraphicObjects
g = go.getByIndex(go.Count-1)
g.Height = g.actualSize.Height
g.Width = g.actualSize.Width
End Sub
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Re: Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Das funktioniert perfekt!
Super! Und vielen Dank!
Super! Und vielen Dank!
Re: Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Moin,Damit wird erst dann weitergemacht, wenn die Bildgröße verfügbar ist. Alles zusammen:
Gruß R
Ich denke, dass musikai Recht hat, wenn LO zu langsam ist die Größe des Bildes einzulesen, kommt es zu diesem Fehler. Mann kann es so lösen wie musikai, ich habe eine Alternative:ftomasch hat geschrieben:Und dann kommt eine Fehlermeldung.
Code: Alles auswählen
do
wait 10
loop until oGraph.ActualSize.width > 0
Code: Alles auswählen
Sub S_insert_Pictures
Dim O_S As New com.sun.star.awt.Size
Dim S_M As New com.sun.star.awt.Size
Dim N_S As New com.sun.star.awt.Size
aUrl = F_get_pictures_Url
oTextcursor = thisComponent.Text.createTextCursor
oTextcursor.collapseToStart
S_M.Width = 5000 'maximale Breite
S_M.Height = 5000 'maximale Höhe
For i = 0 to ubound(aUrl)
oGraph = ThisComponent.createInstance("com.sun.star.text.GraphicObject")
With oGraph
.GraphicURL = aUrl(i)
.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
.HoriOrient = 0 'Linksbündig
End With
ThisComponent.Text.insertTextContent(oTextcursor,oGraph,False)'Bild einfügen
do
wait 10
loop until oGraph.ActualSize.width > 0
O_S = oGraph.ActualSize
Factor_Width = S_M.width/O_S.width
Factor_Height = S_M.Height/O_S.Height
if Factor_Width <= Factor_Height then 'bestimmen ob die Breite oder die Höhe der begrenzende Faktor ist
factor = Factor_Width
else
factor = Factor_Height
endif
N_S.width = O_S.width * factor
N_S.Height = O_S.Height * factor
oGraph.size = N_S
'Text einfügen
oTextCursor.gotoend(false)
oTextCursor.breaktype = 0
thisComponent.Text.insertControlCharacter(oTextCursor,0 , False)'0 = com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK
oTextCursor.gotoend(false)
next i
end sub
function F_get_pictures_Url
oFilepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
oFilePicker.Initialize(Array(com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE))
oFilepicker.setMultiSelectionMode(true)
oFilepicker.appendFilter( "Graphics Files (*.jpg,.png,.tif,.tiff,.gif,.bmp)","*.jpg;*.png;*.tif;*.tiff;*.gif;*.bmp")
oFilepicker.Title = ("Bilddateien auswählen")
iAccept = oFilepicker.execute()
if iAccept = 0 Then
F_get_pictures_Url = ""
exit function
end if
F_get_pictures_Url = oFilepicker.SelectedFiles
end function
Ist bei mir unter Linux Mint 17.3 kein Problemmusikai hat geschrieben: multi-Selektion mit oFilepicker.SelectedFiles nicht. Geht das bei irgendjemandem?
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO
Re und Nachfrage....
Whow!
Funktioniert perfekt!
Nun habe ich doch noch eine Nachfrage:
Ist es auch möglich, dass die Bilder, die importiert werden, auf eine vorher festgelegte Größe verkleinert werden können?
Liebe Grüße
-ftomasch
Funktioniert perfekt!
Nun habe ich doch noch eine Nachfrage:
Ist es auch möglich, dass die Bilder, die importiert werden, auf eine vorher festgelegte Größe verkleinert werden können?
Liebe Grüße
-ftomasch
Re: Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Das ist doch gerade der Unterschied zwischen meinem und musikai's Version, hier stellst du die Größe in 1/1000 mm ein:
Gruß R
Code: Alles auswählen
S_M.Width = 5000 'maximale Breite
S_M.Height = 5000 'maximale Höhe
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Hallo R!
Ja, vielen Dank für den Hinweis.
Ich konnte diese Angabe nicht im Code zuordnen.
Das ist ja genial!!!
Viele schöne Grüße aus dem Süden
-ftomasch
Ja, vielen Dank für den Hinweis.
Ich konnte diese Angabe nicht im Code zuordnen.
Das ist ja genial!!!
Viele schöne Grüße aus dem Süden
-ftomasch
Re: Importieren von mehreren Bildern gleichzeitig in Form einer Verknüpfung.
Edit:
F3K Total's Code funktionert tatsächlich auch unter Linux Mint 17.3 , meiner nicht. Dafür geht unter Lubuntu 15.10 nur mein Code. Komisch.
Ja, F3K Totals Code ist ne feine Sache.
Gute Lösung mit dem 0-Wert.
also die Multiselektion funktioniert bei mir bis zu dem Punkt, bis ich "öffnen" klicke, dann kommt "BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: SelectedFiles."
Unter Linux Mint kommt dieser Fehler bei Dir nicht?
Würde nämlich gerne den Code in einem multiplatform Project verwenden.
Was mich auch interessieren würde: Bekommst Du in der Bild-Vorschau unter Linux Mint die Bilder angezeigt?
Grüße
F3K Total's Code funktionert tatsächlich auch unter Linux Mint 17.3 , meiner nicht. Dafür geht unter Lubuntu 15.10 nur mein Code. Komisch.
Ja, F3K Totals Code ist ne feine Sache.
Gute Lösung mit dem 0-Wert.
Hallo F3K Total,F3K Total hat geschrieben:Ist bei mir unter Linux Mint 17.3 kein Problemmusikai hat geschrieben: multi-Selektion mit oFilepicker.SelectedFiles nicht. Geht das bei irgendjemandem?
Gruß R
also die Multiselektion funktioniert bei mir bis zu dem Punkt, bis ich "öffnen" klicke, dann kommt "BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: SelectedFiles."
Unter Linux Mint kommt dieser Fehler bei Dir nicht?
Würde nämlich gerne den Code in einem multiplatform Project verwenden.
Was mich auch interessieren würde: Bekommst Du in der Bild-Vorschau unter Linux Mint die Bilder angezeigt?
Grüße
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️