Re: [de-users] Bilder im Calc ansprechen

2010-07-09 Diskussionsfäden Volker Heggemann

Hallo Horst.

Du möchtest also in Abhängigkeit eines Zellinhaltes eine Grafik in 
eine andere Zelle schreiben?
Das geht mit einer User-Funktion und ein wenig Makro Code (auch 
Dispatcher Code geht.)
Allerdings must Du das GUT testen, da es eigendlich nicht so toll 
ist mit einer User-Funktion eine andere als die aufrufende Zelle zu 
ändern.


Also schaun wir mal

Horst Schulze schrieb:

Hallo Regina,

ohne Makros wüsste ich gar nicht, wie das gehen sollte.

Das Makro soll eine Zelle (z.B. A5) auslesen (kein Problem) und dann nach dem Wert eine 
Grafik in eine Zelle(z.B. c5)  einfügen.

Der Wert von A5 wird dadurch bestimmt durch eine Formel =wenn(
Das ist in einer Texttabelle so nicht möglich. Ginge ja evtl. mit anderen Makros, wäre aber 
umständlicher.


Da ich so etwas ggf. auch mal in umfangreicheren Tabellen nutzen möchte, würde mich das 
interessieren, wie das möglich wäre.


Ah - hier!

Erstelle (oder speichere ein paar Grafiken in Deinem Dateisystem.)
Hier nehmen wir mal an, das Du die Grafiken:
de.jpg
e.jpg
usa.jpg
erstellt hast und diese in dem Ordner c:\temp\ abgelegt hast.

Nun machst Du eine neues Tabellendokument:
In Spalte A schreibst Du von oben nach unten:
Deutschland
Amerika
Spanien
Lettland

Diese Spalte kopierst du zu Tabelle2.
In Tabelle 2 trägst Du neben die Länder die entsprechenden 
Dateinamen ein.

In Zelle Tabelle2.B1 steht also c:\temp\de.jpg
in Zelle Tabelle2.B2 steht c:\temp\usa.jpg
usw.

Nun wieder in Tabelle1 füllst Du einen Verweis in die Spalte B
in B1 steht =SVERWEIS(A1;Tabelle2.A1:Tabelle2.B2;2;0)
(kopiere die Formel anschliessend von B1 nach B2,B3,B4 ...)

in die Spalte C kommt ein Adressfeld:
in C1 also: =WENN(ISTNV(B1);"";ZELLE("ADRESSE";E1))
(ebenfalls nach unten kopieren)

Nun schreibst Du ein kleines Macro (eine User Definierte Funktion)
Extras - Makros - Verwalten - Openoffice.org Basic -Meine Makros - 
Standard - Modul1 - Neu

Dann sollte der Makroeditor erscheinen.

Schreibe folgendes hinein:
-
function grafik(FileName$,zelle$)
rem goto Cell
Dim oCell
Dim oSheet
rem
rem Zelle selektieren
rem
oSheet = StarDesktop.CurrentComponent.CurrentController.ActiveSheet
oCell = oSheet.getCellRangeByName(zelle)
ThisComponent.CurrentController.Select(oCell)

rem
rem  einfügen einer Grafik mittels dispatcher Codes
rem
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "FileName"
args2(0).Value = converttourl(FileName$)
args2(1).Name = "FilterName"
rem
Rem Achtung - für JPEG Dateien.
rem andere Dateien brauchen eine andere Value als Filtername!
rem
args2(1).Value ="JPEG - Joint Photographic Experts Group"
args2(2).Name = "AsLink"
args2(2).Value = true

dispatcher.executeDispatch(document, ".uno:InsertGraphic", "", 
0,args2())

end function

-



Nun kannst Du den Editor schliessen und in die Tabelle in Spalte D
den Aufruf der Funktion eintragen:
D1 enthält dann: =GRAFIK(B1;C1)

Damit sollte in der Zelle, die in C1 genannt wird die Grafik mit dem 
Namen, der in B1 genannt wird eingetragen werden.


Teste es mal. Es geht.
Allerdings, werden nicht bei jeder Neuberechnung die Grafiken 
aktualisiert.


Da müsste man wahrscheinlich noch einen Eventlistener schreiben.

Gruß
Volker

-
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org



Re: [de-users] Bilder im Calc ansprechen

2010-07-09 Diskussionsfäden Horst Schulze
Hallo Regina,

ohne Makros wüsste ich gar nicht, wie das gehen sollte.

Das Makro soll eine Zelle (z.B. A5) auslesen (kein Problem) und dann nach dem 
Wert eine
Grafik in eine Zelle(z.B. c5)  einfügen.
Der Wert von A5 wird dadurch bestimmt durch eine Formel =wenn(
Das ist in einer Texttabelle so nicht möglich. Ginge ja evtl. mit anderen 
Makros, wäre aber
umständlicher.

Da ich so etwas ggf. auch mal in umfangreicheren Tabellen nutzen möchte, würde 
mich das
interessieren, wie das möglich wäre.

Ich habe mit xray dokument, Tabelle und Zellen untersucht. Als Ergebnis stelle 
ich fest, dass
die Grafik anscheinend nicht existiert :-)

Der macrorecorder zeichnet auch ein Auswählen der Grafik nicht auf. Ich habe 
auch schon
versucht Zellen mit Grafik zu kopieren. Manchmal klappt das manuel. Mit 
Recorder nicht.


Horst




Am 8 Jul 2010 um 19:42 hat Regina Henschel geschrieben:

> Hallo Horst,
>
> Horst Schulze schrieb:
> > Hallo,
> >
> > wie kann ich Bilder in einer Calc-Tabelle ansprechen oder
> > einfügen, verändern u.ä.
> >
> > Ziel: Ich will in einer Zelle ein Land und in der nächsten die
> > Fahne dazu anzeigen. Ändere ich das Land, ändert sich die
> > Fahne.
> > (So ähnlich wie bei der WM)
> >
> > Ich finde aber nirgens, wo und wie ich das Bild ansprechen
> > kann.
>
> Möchtest du das ganze ohne Makro machen? Da sehe ich keine direkte
> Möglichkeit.
>
> Ist es unbedingt erforderlich in Calc zu arbeiten? In einer
> Writertabelle kannst du das Bild tatsächlich _in_ der Zelle haben, in
> Calc nicht. Und im Writer gehört die URL zu den Eigenschaften des
> Bildobjekts selbst.
>
> mfG
> Regina
>
> -
> To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
> For additional commands, e-mail: users-h...@de.openoffice.org
>



-
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org



Re: [de-users] Bilder im Calc ansprechen

2010-07-08 Diskussionsfäden Regina Henschel

Hallo Horst,

Horst Schulze schrieb:

Hallo,

wie kann ich Bilder in einer Calc-Tabelle ansprechen oder
einfügen, verändern u.ä.

Ziel: Ich will in einer Zelle ein Land und in der nächsten die
Fahne dazu anzeigen. Ändere ich das Land, ändert sich die
Fahne.
(So ähnlich wie bei der WM)

Ich finde aber nirgens, wo und wie ich das Bild ansprechen
kann.


Möchtest du das ganze ohne Makro machen? Da sehe ich keine direkte 
Möglichkeit.


Ist es unbedingt erforderlich in Calc zu arbeiten? In einer 
Writertabelle kannst du das Bild tatsächlich _in_ der Zelle haben, in 
Calc nicht. Und im Writer gehört die URL zu den Eigenschaften des 
Bildobjekts selbst.


mfG
Regina

-
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org



Re: [de-users] Bilder im Calc ansprechen

2010-07-08 Diskussionsfäden Heinz Kiesewetter

 Am 08.07.2010 15:44, schrieb Horst Schulze:

Hallo,

wie kann ich Bilder in einer Calc-Tabelle ansprechen oder
einfügen, verändern u.ä.

Ziel: Ich will in einer Zelle ein Land und in der nächsten die
Fahne dazu anzeigen. Ändere ich das Land, ändert sich die
Fahne.
(So ähnlich wie bei der WM)

Ich finde aber nirgens, wo und wie ich das Bild ansprechen
kann.


Horst



Das ist ne interessante Sache, ich würde das mal mit einem Link verknüpfen.
Siehe im Hilfemenü unter "Verknüpfungen bearbeiten".

Evtl. hilft das erst mal weiter.

Gruß Heinz