Hi,
kennt jemand eine Lösung für folgendes (vielleicht nicht ganz alltägliches) Problem?
Ich möchte in einer Zelle (B1) eine Grafik einfügen. Die Grafik soll nicht fest mit dem Dokument gespeichert werden sondern nur als Verknüpfung zu einer externen Grafik abgelegt sein. Soweit noch kein Problem.
Jetzt möchte ich allerdings durch den Wert einer anderen Zelle (A1) das Verknüpfungsziel der Grafik (in B1) ändern. Wenn ich also z. B. in der besagten Zelle (A1) "Apfel" eintrage soll z.B. als Grafik (B1) die Datei "./img/Apfel.jpg" erscheinen, wenn ich stattdessen in die erste Zelle (A1) "Baum" eintrage soll sich der Verweis der Grafik (B1) ändern, eben in z. B. "./img/Baum.jpg".
Ich bin auch gegenüber Makros nicht abgeneigt, falls mir hier jemand ggf. weiterhelfen kann.
Danke,
Dennis
Adresse von Grafiken dynamisch per Zellinhalt verändern?
Moderator: Moderatoren
-
- *
- Beiträge: 10
- Registriert: Mi, 15.02.2006 12:29
Hallo Dennis
Mit etwas aufgezeichnetem Makrocode plus ein paar eingefügten bzw. geänderten Zeilen sollte es funktionieren :
Leider ist es mir nicht gelungen, vor dem Einfügen eines neuen Bildes , alte Bilder per Makro zu entfernen.
Gruß Karo
Mit etwas aufgezeichnetem Makrocode plus ein paar eingefügten bzw. geänderten Zeilen sollte es funktionieren :
Code: Alles auswählen
REM ***** BASIC *****
sub bildeinfuegen
rem Aufzeichnungsanfang
rem define variables
dim document as object
dim dispatcher as object
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$1" 'Hier wird eingefügt
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem echter Makrocode für Variable "bildname"
myDoc = thisComponent
mySheet = myDoc.sheets(0) 'Tabelle1
mycell = mysheet.getCellByPosition(0,0) ' In A1 steht der Name des Bildes
bildname=mycell.string
rem Aufgezeichneter Code Fortsetzung
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "FileName"
args2(0).Value = "file:///Dein/Verzeichnis/Pfad/" & bildname & ".jpg" 'eingefügte Variable
args2(1).Name = "FilterName"
args2(1).Value = "JPEG - Joint Photographic Experts Group"
args2(2).Name = "AsLink"
args2(2).Value = true
dispatcher.executeDispatch(document, ".uno:InsertGraphic", "", 0, args2())
end sub
Gruß Karo
-
- *
- Beiträge: 10
- Registriert: Mi, 15.02.2006 12:29