Seite 1 von 1
Datenverknüpfung für Formen möglich?
Verfasst: Di, 16.06.2009 11:24
von heimo1976
Kann man Tabellenwerte als Datenquelle für Objekte (Rechteck) heranziehen/verknüpfen?
Detailbeschreibung meines Vorhabens
Habe vor einen Verladeplan zu erstellen.
Basis ist eine Ladeliste mit fortlaufender Nummer, Länge, Breite, Höhe.
Ich würde gerne in einer weiteren Tabelle Rechtecke erzeugen und
die Daten der Ladeliste heranziehen. (Erstellung für einen LKW-Ladeplan)
-fortlaufende Nummer (als Beschriftung)
-Länge (als Länge für ein Rechteck)
-Breite (als Breite für ein Rechteck)
Ergebnis sollte dann so aussehen, dass ich in der Ladeliste vorne
die Werte eintrage und Oo mir dann Rechtecke mit den Grundmaßen
erstellt.
Diese will ich dann frei platzieren.
Wäre für Hilfe sehr dankbar!!
Re: Datenverknüpfung für Formen möglich?
Verfasst: Di, 16.06.2009 12:20
von AhQ
Hallo,
das ist wenn schon mit Calc, dann was für die Makroprogrammierung. Man könnte zwar schon versuchen, daß Dir Calc aus Formeln "Rechtecke" erzeugt, aber nicht als eigene Objekte, die Du dann wie ein gezeichnetes Rechteck nimmst und drehst und wendest, sondern als Formelungeheuer mit entsprechend der Länge/ Breite einer Anzahl an Zellen mit vielen Formeln drin. Wie man das allerdings dann hinbekommt, daß Du die frei in einer Fläche, die den LKW darstellt, bewegen kannst, ohne dabei jeweils die Formeln zu zerhacken, das weiß ich nicht.
Kannst Du nicht alternativ einfach in Draw Dir den LKW malen, eine Serie von Rechtecken dazu und dann mit denen einfach arbeiten? Das sollte doch das allereinfachste sein.
Viele Grüße
AhQ
Re: Datenverknüpfung für Formen möglich?
Verfasst: Di, 16.06.2009 18:44
von turtle47
Hi Himo,
heimo1976 hat geschrieben:Ergebnis sollte dann so aussehen, dass ich in der Ladeliste vorne
die Werte eintrage und Oo mir dann Rechtecke mit den Grundmaßen
erstellt.
AhQ hat geschrieben:Kannst Du nicht alternativ einfach in Draw Dir den LKW malen, eine Serie von Rechtecken dazu und dann mit denen einfach arbeiten? Das sollte doch das allereinfachste sein.
Wirklich?
Schau Dir mal beigefügtes Beispiel an.
Makros ausführen muss erlaubt sein!
Einstellungen dazu unter Menue > Extras > Optionen > OOo > Sicherheit > Makrosicherheit > "Mittel"
Danach OOo incl. Schnellstarter beenden und neu starten.
Den Maßstab muss man noch anpassen.
Viel Erfolg.
Jürgen
Re: Datenverknüpfung für Formen möglich?
Verfasst: Mi, 17.06.2009 10:00
von AhQ
Hallo Jürgen,
neidvoll muß ich eingestehen: Formel gegen Makro: 0:1
Viele Grüße
AhQ
Re: Datenverknüpfung für Formen möglich?
Verfasst: Mi, 17.06.2009 11:21
von turtle47
Hallo AhQ,
klasse wie Du solche Dinge immer mit Humor nimmst. Mich hast Du auf alle Fälle heute schon zum Lachen gebracht.
Die Aufgabenstellung, ob man sowas mit Formeln zu lösen könnte war allerdings auch nicht fair.
In einem Forum für Flugtechnik hätte eine vergleichbare Frage lauten können:
"Kann man mit einem Fahrrad zum Mond fliegen?
Antwort:
Radio Erivan hat geschrieben:Im Prinzip ja, man muss nur halt viel drumherum bauen.

Schmunzelnde Grüsse.
Jürgen
Re: Datenverknüpfung für Formen möglich?
Verfasst: Fr, 19.06.2009 07:02
von heimo1976
DANKE!!!!!!! PERFEKT!!!!!!!!
in einer ruhigen Stunde schau ich mir das mal genau an, aber das ist genau die Problemlösung die ich mir
vorgestellt habe!!!
So bin ich viel schneller als ständig die Rechtecke selber zu malen....
Gutes Beispiel für Community-Hilfe
Nochmals vielen Dank!!
turtle47 hat geschrieben:Hi Himo,
heimo1976 hat geschrieben:Ergebnis sollte dann so aussehen, dass ich in der Ladeliste vorne
die Werte eintrage und Oo mir dann Rechtecke mit den Grundmaßen
erstellt.
AhQ hat geschrieben:Kannst Du nicht alternativ einfach in Draw Dir den LKW malen, eine Serie von Rechtecken dazu und dann mit denen einfach arbeiten? Das sollte doch das allereinfachste sein.
Wirklich?
Schau Dir mal beigefügtes Beispiel an.
Makros ausführen muss erlaubt sein!
Einstellungen dazu unter Menue > Extras > Optionen > OOo > Sicherheit > Makrosicherheit > "Mittel"
Danach OOo incl. Schnellstarter beenden und neu starten.
Den Maßstab muss man noch anpassen.
Viel Erfolg.
Jürgen
Re: Datenverknüpfung für Formen möglich?
Verfasst: Fr, 19.06.2009 07:51
von turtle47
Hallo Heimo,
freue mich, dass Dir die Datei gefällt.
heimo1976 hat geschrieben:PERFEKT!!!!!!!!
Naja,wie man es nimmt. Es gibt immer was zu verbessern.
Ich habe die Handhabung noch ein wenig optimiert.
Hier der
Download.
Viel Spass damit.
Jürgen
Re: Datenverknüpfung für Formen möglich?
Verfasst: Mo, 06.07.2009 09:12
von heimo1976
Paramteter einstellen
Hallo nachdem ich im Basic eine NULL bin wäre ich für folgende Hilfe sehr Dankbar:
Wo kann ich folgende Werte im Makro festlegen?
-01 Datenquelle für Bezeichnung, Länge, Breite (ich hab da ein Monsterdokument mit 10 Tabellen....)
-02 Platz wo die Objekte kreiert werden (Tabelle)
-03 Schrift /Schriftgrad für die Rechtecke
-04 Füllfarbe
-05 Transparenz (hilft beim platzieren)
Möchte das Makro auf einfachsten Weg in mein Dokument "pasten" und eben dann die
ganzen Angelegenheiten selber anpassen.
Würde mir sehr weiterhelfen!!
PS: Hier nochmal das Makro:
----------------------------------------------
Sub Create_Shapes
Dim oDoc As Object
Dim Page As Object
Dim RectangleShape As Object
Dim oRechteck As Object
Dim Punkt As New com.sun.star.awt.Point
Dim Groesse As New com.sun.star.awt.Size
oDoc = thisComponent
Q_Sheet = oDoc.Sheets(0)
oData1 = Q_Sheet.getCellRangeByName("A2:C20").getDataArray()
oPosition = 1000
for i = 0 to ubound(oData1)
x = oData1(i) 'Stelle des Wertes im Array
oBeschreibung = x(0)
oLaenge = x(1)
oBreite = x(2)
if oBeschreibung = "" Then
goto Weiter
end if
mySheet = oDoc.Sheets(1)
Page = mySheet.drawPage
Punkt.x = 1000
Punkt.y = oPosition
Groesse.Width = oLaenge *1
Groesse.Height = oBreite *1
oRechteck = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
oRechteck.Size = Groesse
oRechteck.Position = Punkt
oRechteck.Title = oBeschreibung
oRechteck.FillColor = RGB(255,255,255) 'Blau
Page.add(oRechteck)
oRechteck.String = oBeschreibung
oPosition = oPosition + oBreite *2 + 50
next i
Weiter:
myView = oDoc.CurrentController
mySheet = oDoc.Sheets(1)
myView.setActiveSheet(mySheet)
End Sub