LabVIEWForum.de - Excel Datei öffnen und wieder schließen

LabVIEWForum.de

Normale Version: Excel Datei öffnen und wieder schließen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo alle miteinander

Ich habe folgendes Problem. Ich möchte eine Excel Datei die ein Makro beinhält und ein Diagramm aus einer anderen Excel Datei erstellt öffnen und danach wieder schließen.

Wenn ich die Datei per Hand öffne wird einfach aus einer Datei mit Messdaten ein Diagramm erstellt und das Excel Diagramm in einer Excel Datei erstellt und wieder geschlossen.
Im Prinzip sollte nun nur die Excel Datei geöffnet werden und nach einer bestimmten Zeit (~10sek) wieder geschlossen werden??

Wäre nett wenn mir jemand weiterhelfen könnte.

mfg carinthianwerewolf
Hi!

Wenn du das Makro umschreiben kannst, ist es vermutlich am einfachsten, Excel von dort aus zu beenden:
[code]Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)



Sub closeExcel()
Schönen guten Nachmittag

Also ich habe folgenden Code:
___________________________________________________________

Private Sub Workbook_Open()

varStammordner = ThisWorkbook.Path & ""

Workbooks.Open (varStammordner & Year(Date) & "" & Format(Month(Date), _
"00") & "" & Format(Day(Date), "00") & ".xls")

Workbooks(Workbooks.Count).Charts.Add

With Workbooks(Workbooks.Count).Charts(1)
.ChartType = xlLineMarkers
.SetSourceData Source:=Workbooks(Workbooks.Count).Sheets(Format(Day(Date), _
"00")).Range("A3Big Grin" & Workbooks(Workbooks.Count).Sheets(Format(Day(Date), _
"00")).UsedRange.Rows.Count), PlotBy:= _
xlColumns
.Location Where:=xlLocationAsNewSheet
.HasTitle = True
.ChartTitle.Characters.Text = "Messdaten"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With

Workbooks(Workbooks.Count).Sheets(1).Move
Workbooks(Workbooks.Count).SaveAs varStammordner & Year(Date) & "" & Format(Month(Date), _
"00") & "" & Format(Day(Date), "00") & " Diagramm.xls"
Workbooks(Workbooks.Count).Close
Workbooks(Workbooks.Count).Saved = True
Workbooks(Workbooks.Count).Close

End Sub

__________________________________________________________

In welchem Teil müsste ich den von dir genannten Code integrieren um das Schließen der Excel Datei zu erreichen??
Möchtest du das Excel schließen oder nur das aktive Dokument? weil der Befehl Application.Quit macht Excel ganz zu...

wenn du es so verwenden kannst, einfach die Subs reinkopieren und dann so in deinen Code integrieren:[code]Private Sub Workbook_Open()
Hallo

Ja super hab zuerst das mit dem closeExcel probiert hat aber eine Fehlermeldung ergeben danach hab ich das mit Application.Quit gemacht und das funktioniert wunderbar

Eine Frage noch. Ist es möglich das zu einen bestimmten zeitpunkt zu machen?ß z.B.: 23:59:00??

mfg carinthianwerewolf
Also nicht das schließen, sondern die gesamte Aktion zu einem bestimmten zeitpunkt durchzuführen.

Ist zwar nich das korrekte Forum dafür, aber wenn du dich vielleicht auch ein wenig in Excel und Makros auskennst....

mfg carinthianwerewolf
Geht schon, der Nachteil ist, dass Excel die ganze Zeit laufen muss...

[code]Private Sub Workbook_Open()
Hallo

Also ich hab das jetzt mal probiert und die Zeit eingestellt auf x + 1min also 19:26 (wie ichs probiert habe) aber da tat sich nix außer das eine Fehlermeldung erschien mit: Fehler beim Kompilieren Argumenttyp ByRef unverträglich und das delay bei "myWait delay" wurde markiert

Muss ich dabei im Programmcode beide Private Sub verwenden??

Bezüglich dem Geöffnet bleiben von Excel. Bedeutet das, dass wenn ich das Makro um 23:59 ausführen möchte dass Excel dann den ganzen Tag über geöffnet bleiben muss???

mfg carinthianwerewolf
Zitat:Also ich hab das jetzt mal probiert und die Zeit eingestellt auf x + 1min also 19:26 (wie ichs probiert habe) aber da tat sich nix außer das eine Fehlermeldung erschien mit: Fehler beim Kompilieren Argumenttyp ByRef unverträglich und das delay bei "myWait delay" wurde markiert
aja, stimmtWink
So muss der Funktionskopf aussehen (das ByVal ist wichtig):
Code:
Private Sub myWait(ByVal delay As Long)
Zitat:Bezüglich dem Geöffnet bleiben von Excel. Bedeutet das, dass wenn ich das Makro um 23:59 ausführen möchte dass Excel dann den ganzen Tag über geöffnet bleiben muss???
Ja, da sonst die Makro-Ausführung auch beendet wird. Wenn du das nicht willst kannst du zB mit den geplanten Tasks von Windows arbeiten, die dir dein Excel-File aufrufen. Oder du schreibst ein eigenständiges Programm, dass im Hintergrund läuft und zur gewünschten Zeit Excel startet
Schönen guten Abend

Also das mit dem geöffnet bleiben ist nicht so gut aber da wir ja in einem LabVIEW Forum sind (ist mir in letzter Zeit gar nicht aufgefallen, da du dich auch so gut in Excel auskennstWink)

Also würde das in LabVIEW auch funktionieren, wenn ich die Excel Datei öffne??

Ich habe zwar schon mal versucht die Excel Datei mittels des VI [Datei öffnen] aber irgendwie hat das nicht so wirklich geklappt.

Könntest du mir in der Hinsicht vielleicht noch einen Rat geben???

mfg carinthianwerewolf
Seiten: 1 2 3
Referenz-URLs