www.mikrocontroller.net

Forum: PC-Programmierung EXCEL Process beenden VB


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe für eine Messwertaufnahme ein VisualBasic Programm geschrieben, 
welches alle Messpunkt schön in eine Excel Datei ablegt. Funktioniert 
sehr gut. Allerdings habe ich jetzt festgestellt unter dem Windows Task 
Manager, dass EXCEL immer noch aktiv ist obwohl ich es vermeindlich über 
mein Programm beendet habe.

Die Funktion oExcel.Quit funktioniert nicht richtig. Excel geht zwar zu, 
verschwindet aber nicht aus dem Task Mangaer. Kennt da jemand eine 
bessere Funktion? Oder was mache ich falsch.

Danke schon mal,
Sebastian

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gib alle ExcelObject frei.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine prinzipielle vorgehensweise:


Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object


oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Add
oSheet = oBook.Worksheets(1)


oExcel.Quit


Für die Objekte oExcel und oSheet gibt es keine Quit Funktion. Wie soll 
ich die also freigeben?




Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie man das immer in VB mit Objekten machen sollte, die man nicht 
mehr braucht mit Nothing.

Autor: Stefan Wakolbinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
probier mal:
        'Prozess schliessen
        Dim Anwendung As String
        Anwendung = "excel"
        Dim pList() As System.Diagnostics.Process = _
    System.Diagnostics.Process.GetProcessesByName(Anwendung)
        For Each proc As System.Diagnostics.Process In pList
            Dim resp As MsgBoxResult
            resp = MsgBox("Terminate " & proc.ProcessName & "?", _
                MsgBoxStyle.YesNo, "Terminate?")
            If resp = MsgBoxResult.Yes Then
                proc.Kill()
            End If
        Next

du kannst auch die Msgbox()-Abfrage weglassen und gleich alle excel 
prozesse beenden. Beendet wirklich alle Excel Anwendungen!!

oder die alternative:

'Variablen
dim excelapp as Excel.Application
dim excelworkbook as Excel.Workbook = 
excelapp.Workbooks.open("DEIN_PFAD")

'Speichern
for each workb as Excel.Workbooks In excelapp.Workbooks()
workb.Save()
next

'Schließen
for each workb as Excel.Workbooks In excelapp.Workbooks()
workb.Close()
next

mfg
Stefan Wakolbinger

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.