Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Excel Diagramm
01.11.2014, 06:02
Beitrag: #1
Excel Diagramm
Servus!

Mittlerweile kann ich große Datenmangen aus VEE nach Excel im richtigen Format transportieren. Das funktioniert gegenüber meinem alten CSV Konverter sehr schnell.
Wenn man die Daten schon in der Hand hat, kann man ja auch gleich die Diagramme erstellen. Das funktioniert auch.

Nur jetzt möchte ich die Diagramme in eigenen Diagrammblättern haben, also das Diagramm verschieben und einen neuen Namen vergeben.
Bisher scheitere ich daran, daß VEE AcitveX Befehle mit einem Leerzeichen drin nicht akzeptiert. Hab als Beispiel ein Bildschirm Foto angehängt.

Hat jemand eine Lösung dafür?

Der Vorschlag mit Templates ist für mich nicht praktikabel, da noch ein Diagramm fehlt. Für dieses brauche ich noch eine Funktion, welche mir die Zeilenbereiche entsprechend herausfiltert.
Zudem soll das auch "nur" ein Vorabzug werden.

Für den eigentlichen Messbericht gibt es dann ein Excel Template. Für die Bedienung desselben muß man aber viel davon verstehen und aufgrund der Programmierung mit vielen Funktionen ist es auch sehr Rechenintensiv und langsam.


Danke für die Auskunft,
MaxSchmidtFan

Noch arbeite ich mit VEE 9.3


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2014, 18:18 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2014 18:59 von detlef.)
Beitrag: #2
RE: Excel Diagramm
Verstehe auf die Schnelle wieder nur die Haelfte- und es laesst sich alles auch mit templates regeln, was sonst per Activex geht....
Aber das mit dem Leerzeichen und dem := ist in vee was anderes als in excel VBA.
Versuch mal :
xlapp.activechart.location(xlloacationasnewsheet("Belastungsprogram")) oder so....muss ich auch probieren.

oder xlapp.activesheet(xllocationnewsheet, name="BElast"),
oder xlaopp.acti...(xllalocation..,"Belast") oder...
Ich wuerde vorher in dem Template schon die Diagrammblaetter benennen, und dann die diagramme ode rnamen reinkopieren...
---
So. s...ollte sein:

xlapp.activechart.location(where,name) ... ist so im FOB zu finden unter Excel / chart/ location...

dann konkret
xlapp.activechart.location(xllocationasnewsheet, " Mein Name")
Also das Prinzip, wenn machwas und Leerzeichen und name:=Irgendwas wird in VEE xlapp.machwas(irgendwas)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2014, 09:48
Beitrag: #3
RE: Excel Diagramm
Servus!

Grundsätzlich gebe ich Dir mit den Templates recht. Das würde sicher auch mit den bisherigen 3 Kurven funktionieren. Dafür müssten die Templates aber auf den meist kurzfristig aus unserer IT geholten Rechnern installiert sein. Da kommt nur die VEE Runtime und die IO-Lib's zusätzlich drauf. Weitere Excel Vorlagen interessieren nicht, weil das zusätzliche Arbeit ist. Deshalb gleich alles aus VEE erzeugen, dann habe ich es in der Hand.


Habe das mit:
xlapp.activechart.location(xllocationasnewsheet, " Mein Name")
ausprobiert. Funktioniert bestens. Herzlichen Dank dafür Big Grin.

Wie kann ich mir diese Lösung herleiten, wenn ich von ActiveX so gut wie keine Ahnung habe. Bisher habe ich immer mit dem Makrorekorder aufgezeichnet und dann versucht das in VEE nachzubilden. Funktioniert oft, aber nicht immer Undecided.
In im FOB von VEE gibt es leider keine Hilfestellung, da diese Befehle ja eigentlich aus Excel kommen.


Jetzt aber die eigentliche Kunst:

Dafür habe ich die von meinem VEE Konverter erzeugte Exceldatei angehängt.

Die Diagramme links von Tabelle1 (grün) wurden direkt aus VEE erzeugt.
Das Diagramm (Zeitsetzung) rechts von Tabelle1 (rot) habe ich per Hand eingefügt. Dieses Diagramm möchte ich auch direkt aus VEE erzeugen.

In der Spalte A stehen die Laststufennummern. In Spalte D derselben Zeile steht die Benennung der Kurve. In Spalte J ist die X-Achse und in Spalte K die Y Achse. Zum besseren Verständnis habe ich die Zusammengehörigkeit der Daten in der Tabelle1 farblich markiert.

In der Tabelle 2 stehen Daten aus einem anderen Versuch. Der Aufbau der Spalten ist gleich, aber es ist deutlich zu erkennen, dass die Zeilennummern für das letzte Diagramm (Zeitsetzung) ganz andere sind.

Wie kann ich also VEE dazu bringen, in meinem 2D Array die Laststufennummern zu finden um dann in den entsprechenden Spalten und vor allem die Zeilen der Daten für die Generierung des letzten Diagrammes zusammenzustellen?
Dabei sollen nur die Kurven erstellt werden, wenn die Last gegenüber der vorherigen Laststufe angestiegen ist.

Kompliziert oder?


Angehängte Datei(en)
.xlsx  Aus_VEE_erstellt_2.xlsx (Größe: 885,11 KB / Downloads: 1)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2014, 10:25 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2014 10:26 von detlef.)
Beitrag: #4
RE: Excel Diagramm
Erst nochmal zu den Templates:

Man kann in VEE Konstanten definieren. Diese Konstanten koennen auch binaer sein.
So kann man beliebige Dateien in VEE selbst-also in den Quellcode- einbinden, aus VEE als Datei abspeichern ( z.B. als Excel -template) und dann wieder per Excel aufrufen. Raffiniert, nicht wahr? Dann muss man das nicht per Hand machen.
Die andere Sache schau ich mir mal in Ruhe an, wenn Zeit ist..kann was dauern.
Aber vielleicht sind ja andere schneller hier ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.11.2014, 11:36 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2014 12:02 von detlef.)
Beitrag: #5
RE: Excel Diagramm
------

So , hier mal ein Beispiel, wie man eine beliebige Datei in VEE einfuegt- und diese als Konstante benutzt.
Dann kann man das einlesen weglassen, und in dem VEE Quellcode nur noch die Konstante behalten- und die dann wieder auf Platte speichern. So stellt man sicher, dass alle benoetigten Daten da sind. Ein wenig von hinten ins Knie, aber wenn man externe Dateien benutzen will, kann man das so machen.
Das 2te VEE Programm hat dann deine Excel Datei, die laedst du dann-und machtst alles andere damit. Template Prinzip halt.
Da die Diagramme nur auf deine Daten in der Tabelle bezogen sind, brauchst du nur diese Daten in der Tabelle aendern, und ad hoc aendern sich auch deine Diagramme. Deshalb braucht man nur die Daten von VEE in das Template schicken.
Den Rest kannst du sicher schon alleine ;-)
Nur schauen, dass du Zugriffsrechte zu dem Ordner auf den verschiedenen Rechnern hast. Ichhab da mal c.\temp genommen..

Na, ist das nicht hmmm...g e . i . l ?
Mist, groesser als 1 MB, muss eine kleinere Excel datei nehmen fuer dieses Forum...
neuer Versuch, mit 7zip selbstentpackend
_vee in .exe umbennen und dann entpacken lassen...

Mist, immmer noch einige kB zu gross...

Nehme jetzt eine kleinere Excel Datei...
So, jetzt aber, kleine Excel Datei mit leerer Arebeitsmappe ;-)
Wenn man die Excel Datei in VEE einbettet, wird der VEE Quelltext natuerlich groesser. Leider ist hier im Forum eine 1MByte Sperre...
denn VEE Programme sind ja normalerweise nicht so grossTongue


Angehängte Datei(en)
.vee  StartCONSTinputinVEE_dB1.vee (Größe: 45 KB / Downloads: 2)
.vee  useCONSTinputinVEE_dB1.vee (Größe: 55,74 KB / Downloads: 1)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.11.2014, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2014 09:25 von MaxSchmidtFan.)
Beitrag: #6
RE: Excel Diagramm
Servus!

Danke für Dein Beispiel. Der "Trick" die Exceldaten als Konstante zu nutzen ist nicht von schlechten Eltern. Idea

Hab ein wenig gebraucht um es zu verstehen. Jetzt ist mir klar, was Du mit den Templates gemeint hast. Nämlich nicht die .xltx Dateien aus den Excelvorlagen, sondern DEINE Templates aus dem VEE Quellcode.


Man kann tatsächlich eine Exceldatei mit allen Diagrammen, Tabellen, ZellNamen usw. als Quelltext im VEE Quellcode speichern. Damit habe ich alle notwendigen Voraussetzungen zum Erstellen der Diagramme selbst in der Hand. Hiermit bin ich nicht auf Vorlagen von Dritten angewiesen oder das mir jemand eine Vorlage auf dem jeweiligen Rechner installiert.

Dieses Vorgehen erspart natürlich jede Menge an eigenen VEE Prozeduren, um eine Exceltabelle inkl. Diagrammen zu erstellen.
Voraussetzung dafür ist aber.
A: Die Daten für die Diagramme sind immer in der gleichen Spalte.
B: Die Datensätze werden nicht länger, als die Wertebereiche der Diagramme definiert sind.

Sollten sich jedoch wie für meine "Zeitsetzungskurven" die Zeilenbereiche bei jedem Messprojekt ändern, müssen auch hier noch die Wertebereiche händsisch angepasst werden. Es sei denn die notwendigen Informationen können aus dem Datensätz herausgelesen und damit die Wertebereiche für dieses Diagramm automatisch angepasst werden.

Der Tick mit den VEE (Excel) Templates eröffnet natürlich neue Möglichkeiten. Diese muß ich erst mal austesten, was auch etwas dauern kann.
Da sich anscheinend auch Makros damit abspeichern lassen, kann ich für die Zeitsetzungskurven vielleicht das vorhandene Excel Makro aus der großen Auswertung anpassen und verwenden. Damit müßte ich den Code vom Excel Makro nicht in VEE nachbilden, sondern nur das vorhandene Makro aus VEE aufrufen und starten.

Gehen da meine Gedanken in die richtige Richtung?

Gruß MaxSchmidtFan
Hab noch mal meinen Quellcode beigefügt.

Datei braucht entzippen.

Gruß MaxSchmidtFan


Angehängte Datei(en)
.zip  useCONSTinputinVEE_dB2.zip (Größe: 333,17 KB / Downloads: 1)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.11.2014, 16:56 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2014 16:57 von detlef.)
Beitrag: #7
RE: Excel Diagramm
Hast du super erklaert. Ist ja immer besser, wenn das mal jemand anders erklaert ;-)
Als Template meinte ich natuerlich meine eigene Excel Vorlage, und da ich das auch auf english erklaere, ist das halt Template ...
Aber egal, deine Herangehensweise ist korrekt.
Das Problem mit der variierenden Anzahl an Daten ist ein Grundlegendes. Aber wie will man Daten vergleichen, wenn die X .Achse immer eine anderne ist?
Ich hab das so geloest, dass ich meine Daten in x aufteile,also immer nur 256 Daten habe ( war ja frueher in Excel auch nicht anders moeglich.
Also wenn ich 1000 Daten hatte, die ich auch alle brauche, dann halt geteilt durch 256 und daraus dann 4 Diagramme gemacht- mit rest auf Null-Fuellung. Dies hab ich in VEE gemacht-ging ja vor ecxel2003 nicht anders.

Jetzt kann man das auch in Excel loesen. Ein 1000 der Feld, VEE Daten rein, da wo keine VEE DATEN reinkommen, sind NULLWerte 8 oder beliebig andere die man sofort erkennt. UNd dann sind da die 4 Diagramme.

Vorher alles mit Dummy Daten fuellen-z.B. mit 10- da hat man dann einen LInie mit bekanntem Wert.
Wenn VEE dann die Daten reinschreibt, ist das alles ungleich 10, nur die Nullwerte bleiben da auf 10...

Man muss halt wissen, was maximal auf einen zukommt and Werten- und irgendwo ist da ja auch eine Grenze gesetzt.

oder man stellt nur Werte da , die sich aendern, oder man stellt den Mittelwert von 10 Werten da, oder , oder , ,,,,
Angel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:




Partnerforen: LabVIEWForum.de| DIAdem-Forum.de| Machine-Vision-Forum.de| goMatlab.de| VEEforum.de