08.04.2010, 08:30
|
Moses
LVF-Grünschnabel
Beiträge: 49
Registriert seit: Jun 2008
8.6
2009
DE
45624
Deutschland
|
Messwerte als Diagramm in Excel wiedergeben klappt nicht
Hallo SeBa,
hier meine Excel und Word Dateien in MS Office 2003.
AuslenkungsDatenExcelWEA_17131.zip (Größe: 114,81 KB / Downloads: 223)
WordMessbericht.zip (Größe: 169,53 KB / Downloads: 216)
Momentan versuche ich weiter mich schlau zu machen aus dem VBA in Excel und Word Büchern. Ich glaube die einfachste Lösung wäre mein Lösungsansatz 2 von Oben. Ich habe ein Excel Vorlage mit Tabelle und fertigem Diagramm und in Word eine Kopie des Diagramms aus Excel. Sobald ich die Excel Tabellen Werte ändere also Messdaten aus LabVIEW übertrage das sich beide Diagramme in Excel und Word Dynamisch sich Aktualisieren.
Denn Part mit der Dynamischen Aktualisierung zwischen Excel und Word ist die Herausforderung die ich Lösen versuche. Ich habe zwar ein Makro in meinem Word Bericht eingefügt dass mein Word Bericht immer Aktualisieren soll sobald es neu geöffnet wird, tut es leider nicht. Ich muss den Marko selber Ausführen damit dass Word Bericht Aktualisiert wird.
Ich bin auch gespannt auf deine LV Diagramme.
LG MW
|
|
|
08.04.2010, 08:53
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Messwerte als Diagramm in Excel wiedergeben klappt nicht
Muss ich später mal rein schauen, jetzt hab ich keine Zeit.
Poste doch bitte mal den Makrotext und wo du das Makro eingebaut hast.
-> Es sollte sich in "DieseArbeitsmappe" befinden und "Private Sub Workbook_Open()" heißen.
Zum Zeitvertreib die versprochenen Diagrammbeispiele (wahllos rausgepickt). Und das kleine Einlesen/Auswählen/Plotten/Capture-Programm das da im Hintergrund läuft hab ich nur geschrieben, weil mir die Diagramme im Excel nicht gefallen haben.
Ein weiteres schönes Beispiel für die Überlegenheit LV's über Excel Diagramme findest du hier:
LVF-Link
Gruß SeBa
PS:
Ja auch in Excel lassen sich tolle Diagramme zaubern, nur finde ich es dort weitaus aufwändiger und man muss teilweise tief in die Trickkiste greifen.
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
|
|
|
12.04.2010, 15:45
|
Moses
LVF-Grünschnabel
Beiträge: 49
Registriert seit: Jun 2008
8.6
2009
DE
45624
Deutschland
|
Messwerte als Diagramm in Excel wiedergeben klappt nicht
Hallo SeBa,
sorry dass ich mich so spät wieder melde habe viel um die Ohren gehabt. Und teils mich mit VBA/Makros beschäftigt. Vielen Dank erstmal für deine LV Diagramme. Ich muss sagen die sehen gut aus. Momentan verfolge ich immer noch das Ziel wenn Sich die Daten im Excel Ändern, das Automatisch die Inhalte sich in Word Ändern (dynamische Aktualisierung). Mit folgendem Makros
im Excel Dokument:
Private Sub Workbook_Open() ‘Das erste Makro führt Automatisch nach
Call WordAufrufen ‘dem Start von Ecxel das zweiter Makro
End Sub ‚unten aus.
-----------------------------------------------------------
Sub WordAufrufen() ‘Das zweite Makro öffnet nach dem Excel
Dim Word As Object ‘Dokument gestartet wird das im Pfhad
Set Word = CreateObject("Word.Application") 'befindliche Word Dokument.
Word.Visible = True
Word.Documents.Open ("C:UsersFarukDesktopMessprotokoll Barwedel 17131.doc")
End Sub
im Word Dokument:
Sub AutoOpen() ‚Startet(Ruft) Automatisch das zweite
Call DiagrammAutomatischAktualisieren ‚Makro DiagrammAutomatischAktualisieren“
End Sub ‚Daten werden Automatisch Aktualisiert.
-------------------------------------------------------
Sub DiagrammAutomatischAktualisieren()
ActiveDocument.Fields.Update
End Sub
Mein Momentanes Problem :
Ich versuche mit Hilfe des LV Programms „ImportCSVtoExcelVersion3“ die in Excel befindlichen alten Messwerte mit neuen Messwerten zu Überschreiben. Sobald Excel neue Messwerte bekommt Aktuallisiert er die Diagramme (Der Makro wird noch programmiert). Und das gleiche geschieht in Word.
Welche Änderungen bzw. Ergänzungen muss ich in mein Programm „ImportCSVtoExcelVersion3“ machen das neu Ausgewählte Messdaten in mein Excel Dokument (Vorlage) übertragen wird und die alten Überschreibt. Momentan kopiert er sie vor den alten Messwerten.
Messprotokoll_Barwedel_17131.doc (Größe: 170 KB / Downloads: 276)
WEA_17131.xls (Größe: 354,5 KB / Downloads: 236)
WEA_17131.txt (Größe: 64,24 KB / Downloads: 206)
WEA_17131_3.txt (Größe: 69,12 KB / Downloads: 372)
Mit LabVIEW Version 2009
ImportCSVtoExcelVersion3.vi (Größe: 22,32 KB / Downloads: 221)
LG
|
|
|
13.04.2010, 07:30
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Messwerte als Diagramm in Excel wiedergeben klappt nicht
Ich will deine Makros mal in rot kommentieren:
' schrieb:im Excel Dokument:
Private Sub Workbook_Open() 'Das erste Makro führt Automatisch nach
Call WordAufrufen 'dem Start von Ecxel das zweiter Makro
End Sub ‚unten aus.
-> Warum mit dem ersten Makro ein weiters aufrufen? Du kannst das WordAufrufen Makro auch gleich in das Workbook_Open() Sub integrieren.
-----------------------------------------------------------
Sub WordAufrufen() 'Das zweite Makro öffnet nach dem Excel
Dim Word As Object 'Dokument gestartet wird das im Pfhad
Set Word = CreateObject("Word.Application") 'befindliche Word Dokument.
Word.Visible = True
Word.Documents.Open ("C:UsersFarukDesktopMessprotokoll Barwedel 17131.doc")
End Sub
-> Gleich zwei Dinge sind hier aus meiner Sicht schlecht:
1) Word wird dirket nach dem Öffnen von Excel geöffnet. Wie stellst du sicher, das die neuen Daten jetzt schon eingetragen wurden? Stell dir einfach vor, Word wird jetzt auch direkt darauf zugreifen wollen (bzw. die Verknüpfung aktualisieren).
2) Die explizite Angabe eines Dateinamens inkl. Pfadangabe macht das Makro (und damit die ganze Berichterstellung) anfällig gegen einen Ortswechsel auf deiner Platte... oder beim Kunden.
im Word Dokument:
Sub AutoOpen() ‚Startet(Ruft) Automatisch das zweite
Call DiagrammAutomatischAktualisieren ‚Makro DiagrammAutomatischAktualisieren"
End Sub ‚Daten werden Automatisch Aktualisiert.
-> Selber Punkt wie beim ersten Excel Makro.
-------------------------------------------------------
Sub DiagrammAutomatischAktualisieren()
ActiveDocument.Fields.Update
End Sub
Mein Momentanes Problem :
Ich versuche mit Hilfe des LV Programms „ImportCSVtoExcelVersion3" die in Excel befindlichen alten Messwerte mit neuen Messwerten zu Überschreiben.-> jetzt OK Sobald Excel neue Messwerte bekommt Aktuallisiert er die Diagramme (Der Makro wird noch programmiert) -> Was für ein Makro? Wenn du Werte in Excel änderst, werden Diagramme automatisch aktualisiert. Dafür brauchst du kein Makro schreiben. Und das gleiche geschieht in Word.
' schrieb:Welche Änderungen bzw. Ergänzungen muss ich in mein Programm „ImportCSVtoExcelVersion3" machen das neu Ausgewählte Messdaten in mein Excel Dokument (Vorlage) übertragen wird und die alten Überschreibt. Momentan kopiert er sie vor den alten Messwerten.
Wenn du von irgendwo ein Stück Programmcode nimmst, musst du halt auch mal schauen was da so gemacht wird. Es ist das gleiche Problem wie vorher... du lädst ein VI zum Einlesen von durch Komma getrennten Dateien runter, willst aber eine durch Tabstopps getrennte Datei einlesen und wunderst dich warum es nicht klappt.
-> Hier jetzt hat der Mensch der das VI geschrieben hat es halt so programmiert, wie du es beschreibst. Würdest du jetzt 5 Minuten deiner Zeit investieren, um dir das VI einfach mal anzuschauen (evtl. im Highlight Modus, weils dann so schön langsam ist und man sieht was wann in Excel passiert), dann hättest du die Node mit dem RefreshType und der Einstellung "xlInsertDeleteCells" gefunden. Ohne jetzt zu wissen was das genau bedeutet, treibt mich einfach nur die Neugier und deine Problembeschreibung dazu, die möglichen Einstellungen anzuklicken und einfach auf Verdacht hin mal "xlOverwriteCells" auszuwählen. ... -> Problem gelöst.
Gruß SeBa
EDIT:
PS:
Noch etwas was aus meiner Sicht (zum Teil) gegen die Verknüpfung spricht.
Wenn du nur das Worddokument weitergibst, fragt es beim Öffnen jedesmal, ob die Verknüpfungen aktualisiert werden sollen. Finde ich suboptimal.
Du kannst das verhindern, wenn du vor dem Speichern des Dokumentes die Verknüpfung löst... daher sage ich zum Teil.
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
|
|
|
23.04.2010, 12:43
|
Moses
LVF-Grünschnabel
Beiträge: 49
Registriert seit: Jun 2008
8.6
2009
DE
45624
Deutschland
|
Messwerte als Diagramm in Excel wiedergeben klappt nicht
Hi SeBa,
erstmals vielen Dank für deine Hilfe. Habe die Makros nach deinen Anmerkungen in Rot (siehe oben) zusammengefasst.
Excel:
Private Sub Workbook_Open()
Dim Word As Object
Set Word = CreateObject("Word.Application")
Word.Visible = True
Word.Documents.Open ("C:UsersFarukDesktopMessprotokoll Barwedel 17131.dot")
End Sub
' schrieb:-> Gleich zwei Dinge sind hier aus meiner Sicht schlecht:
1) Word wird direkt nach dem Öffnen von Excel geöffnet. Wie stellst du sicher, dass die neuen Daten jetzt schon eingetragen wurden? Stell dir einfach vor, Word wird jetzt auch direkt darauf zugreifen wollen (bzw. die Verknüpfung aktualisieren).
2) Die explizite Angabe eines Dateinamens inkl. Pfadangabe macht das Makro (und damit die ganze Berichterstellung) anfällig gegen einen Ortswechsel auf deiner Platte... oder beim Kunden.
Zu 1)
Das mit übergeben von neuen Daten an Excel klappt wunderbar, über 30 mal getestet. Auch die Diagramme in Excel Aktualisieren sich immer wieder. Nur die Diagramme in Word Dokument die mit Excel verknüpft sind Aktualisieren sich nicht trotz der Makro im Word Dokument.
Word:
Private Sub Document_Open()
ActiveDocument.Fields.Update
End Sub
Meine Frage ist , ist es möglich mein Vorhaben die ich auch oben und erwähnt habe das wenn neue Daten in Excel übertragen werden (das klappt auch gut) diese ein Word Dokument automatisch öffnet (klappt auch) und Word veranlasst die mit Excel verknüpften Diagramme Aktualisiert (klappt nicht). Ist es machbar, wenn ja wie, langsam bekomme ich graue Harre.
Zu 2)
Ich werde später eine gleich bleibende Ordner Pfad benutzen z.B. C:DokumenteSchwingungsmessung. Und werde mein Excel und Word Dokument als Vorlagen da hinterlegen. Auch die neuen Messwerte werden dort gespeichert. Wäre das Ok oder habe ich dich nicht richtig Verstanden.
' schrieb:-> Hier jetzt hat der Mensch der das VI geschrieben hat es halt so programmiert, wie du es beschreibst. Würdest du jetzt 5 Minuten deiner Zeit investieren, um dir das VI einfach mal anzuschauen (evtl. im Highlight Modus, weils dann so schön langsam ist und man sieht was wann in Excel passiert), dann hättest du die Node mit dem RefreshType und der Einstellung "xlInsertDeleteCells" gefunden. Ohne jetzt zu wissen was das genau bedeutet, treibt mich einfach nur die Neugier und deine Problembeschreibung dazu, die möglichen Einstellungen anzuklicken und einfach auf Verdacht hin mal "xlOverwriteCells" auszuwählen. ... -> Problem gelöst.
Bevor ich dieses Problem angesprochen habe, habe ich das Programm mir angeschaut und auch mit Programmen ähnlicher Code verglichen. Im Programm habe ich bis zum ersten Sheets angeschaut weil ich dachte im ersten Workbooks wird der Daten Pfad eingebunden und unmittelbar danach dachte ich muss es passieren mit Daten Übergabe an Excel. Falsch gedacht und nicht weiter gedacht. Wenn ich mir deinen Hinweis (Bild --> xlOverwriteCells) anschaue, ist es echt peinlich. So gesehen war das Problem leicht zu lösen. Wer sehen und lesen kann ist im Vorteil (Gutte idee mit Highlight Modus kannte ich nicht).
' schrieb:EDIT:
PS:
Noch etwas was aus meiner Sicht (zum Teil) gegen die Verknüpfung spricht.
Wenn du nur das Worddokument weitergibst, fragt es beim Öffnen jedes Mal, ob die Verknüpfungen aktualisiert werden sollen. Finde ich suboptimal.
Du kannst das verhindern, wenn du vor dem Speichern des Dokumentes die Verknüpfung löst... daher sage ich zum Teil.
Das habe ich nicht ganz verstanden ich dachte Word braucht die Verknüpfung bezüglich der Excel Diagramme um bei Automatischer Aktualisierung zu wissen woher die Daten kommen. Wie kann ich außerdem die Verknüpfungen vor dem Speichern lösen. Müsste ich diesbezüglich ein Makro in Word schreiben?
LG MW
|
|
|
26.04.2010, 08:56
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Messwerte als Diagramm in Excel wiedergeben klappt nicht
Da hab ich mich nach all der Zeit mal wieder hiermit beschäftigt...
' schrieb:Zu 1)
Das mit übergeben von neuen Daten an Excel klappt wunderbar, über 30 mal getestet. Auch die Diagramme in Excel Aktualisieren sich immer wieder. Nur die Diagramme in Word Dokument die mit Excel verknüpft sind Aktualisieren sich nicht trotz der Makro im Word Dokument.
Tja... Man sollte von einem toten Pferd abspringen, bevor es einen unter sich begräbt...
' schrieb:Meine Frage ist , ist es möglich mein Vorhaben die ich auch oben und erwähnt habe das wenn neue Daten in Excel übertragen werden (das klappt auch gut) diese ein Word Dokument automatisch öffnet (klappt auch) und Word veranlasst die mit Excel verknüpften Diagramme Aktualisiert (klappt nicht). Ist es machbar, wenn ja wie, langsam bekomme ich graue Harre.
Machbar bestimmt... Teilerfolge und Theorie kannst du ja schon vorweisen. Nur hab ich keine Lust auf graue Haare...
' schrieb:Zu 2)
Ich werde später eine gleich bleibende Ordner Pfad benutzen z.B. ... Wäre das Ok oder habe ich dich nicht richtig Verstanden.
Dann nimm wenigstens "ThisWorkbook.Path"
' schrieb:Das habe ich nicht ganz verstanden ich dachte Word braucht die Verknüpfung bezüglich der Excel Diagramme um bei Automatischer Aktualisierung zu wissen woher die Daten kommen. ...
Ich meinte damit, dass du das Wordprotokoll ja bestimmt mal irgendwo anders ablegen wirst oder per Mail verschickst ect...
Dann wird es dort immer fragen, ob es die Verknüpfung aktualisieren soll und einen Fehler bringen, wenn die XL-Datei nicht da ist...
Wie schon oben erwähnt...
totes Pferd + graue Haare = SeBa empfiehlt alternative Vorgehensweise
Es mag hart klingen, aber man muss auch erkennen, wenn ein Weg der theoretisch möglich ist, in der Praxis mit vertretbarem Aufwand nicht zu lösen ist.
In der Zeit die du hier auf Antworten wartest, oder selbst experimentierst, hättest du mehrfach die Lösung mit einem LV-Diagramm und dem Einfügen eines Bildes im Word gelöst... ganz ohne Excel und angeblich automatische aktualisierender Verknüpfungen.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
|
|
|
| |