| |
VB.NET - Ein- und UmsteigerProzess beenden | | | Autor: Ashibarai | Datum: 25.10.10 09:55 |
| Hallo
Ich möchte gern Datein in Excel eintragen, dass ist ja auch kein Problem.
Wenn ich nun aber mit folgenden Zeilen Excel beenden will, bleibt Excel als Prozess stehen bis ich das Programm (mit Visual Basic 2008 Express geschrieben) beende. Ich möchte aber dann im laufende Programm weiterarbeiten. was kann ich tun um Excel aus dem Prozess zu schliessen?
Da ich Anfänger bin, bitte ich dankend um Ideen wie ich das bewerkstelligen kann.
Hier mein Code:
Public Sub Excel_schliessen()
'Warnmeldungen einschalten
xlsProgramm.DisplayAlerts = True
'Excel Beenden
xlsProgramm.Quit()
End Sub Ich habe den code nun wir folgt geändert:
'Warnmeldungen ausschalten
objXls.DisplayAlerts = False
'Excel Beenden
objXls.Workbooks.Close()
Application.DoEvents()
objXls.Quit()
xlsWS = Nothing
objXls = Nothing Der Prozess bleibt trotzdem offen bis ich das Programm beende. Was mache ich denn falsch
Was fehlt den noch?
Gruss
Ashibarai | |
Re: Prozess beenden | | | Autor: jvbsl | Datum: 25.10.10 13:52 |
| Hallo,
guck dir für .Net doch mal die Microsoft.Office.Interop.Excel-Namespace an...
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel%28office.11%29.aspx
hier noch ein Beispiel für C#:
http://support.microsoft.com/kb/302084
sollte einfach in VB.Net konvertierbar sein...
oder hier:
http://www.daniweb.com/code/snippet217127.html
Mfg jvbsl | |
Re: Prozess beenden | | | Autor: Ashibarai | Datum: 25.10.10 18:01 |
| Hallo
Erstmal Danke für die Links.
Aber es geht auch wesentlich einfacher mit:
'Killt jeden Prozess mit dem Namen "excel.exe"
For Each Process In System.Diagnostics.Process.GetProcessesByName( _
"EXCEL") 'Hier darf keine Endung eingetragen werden
Process.Kill()
Next Warum kompliziert wenns auch einfacher geht
Somit sieht mein Code jetzt so aus und funktioniert tadellos
'Excel Beenden
xlsProgramm.Quit()
'Killt jeden Prozess mit dem Namen "excel.exe"
For Each Process In System.Diagnostics.Process.GetProcessesByName( _
"EXCEL")
Process.Kill()
Next
Beitrag wurde zuletzt am 25.10.10 um 18:02:24 editiert. | |
Re: Prozess beenden | | | Autor: Ashibarai | Datum: 26.10.10 07:38 |
| Hallo Dave
Zitat: | |
Das kann zu Problemen führen welche zu einem Neustart des Rechners führen könnten oder eventuell Dokumente beschädigen könnten. Und woher weißt du, dass der Benutzer nicht selbst Excel gestartet hat? | |
Ich gebe dir hier recht.
Zitat: | |
Man kann es auch sauber machen auch wenn es ein wenig komplizierter ist.
| |
Ich habe oben in meinem ersten Post geschrieben was mein Problem ist. Aber es scheint keinen von Euch PROFIS in den Sinn zu kommen Tipps zu geben ausser Links bei denen man sich Tagelang durchkämpfen muss und trotzdem nicht zum Ziel kommt. du schreibst ja selber "auch wenns ein wenig kompliziert ist". Als Anfänger braucht man da halt einen Tipp.
Zitat: | |
Man kann es auch sauber machen auch wenn es
ein wenig komplizierter ist. Aber du bist ja Anfänger und weißt scheinbar alles schon,
| |
du schreibst ja selber "auch wenns ein wenig kompliziert ist". Als Anfänger braucht man da halt einen ultimativen Tipp.
Ich habe nie behauptet das ich alles kann und mache sicher Fehler. Ich dachte ein Forum sei da um Fragen zu stellen wenn man nicht weiter kommt.
Aber hier werden Anfänger scheinbar als Idioten hingestellt anstatt Ihnen zu helfen.
Naja ihr Profis, dann bleibt mal unter euch. | |
Re: Prozess beenden | | | Autor: DaveS (Moderator) | Datum: 26.10.10 09:35 |
| Also, erstens schuldet dir niemand hier überhaupt eine Antwort. Und nicht jeder, der vielleicht eine Antwort hätte schaut sich jeden Beitrag an und fühlt sich bewegt eine Antwort zu schreiben. Zweitens wird unter Forumsregeln darauf hingewiesen, dass man sich zuerst der Forumsuche bedienen soll. Hier wurde nämlich das Thema schon unendliche Mal diskutiert, mit vielen Beispielen. Auf entsprechende Suchbegriffe ist es wirklich nicht schwer zu kommen. Drittens sind manche Sachen nicht ganz trivial und es gibt recht selten einen "ultimativen Tipp", ob man Anfänger ist oder nicht, und außerdem behauptet niemand hier alles wissender "PROFI" zu sein, was immer das bedeuten soll. Du solltest besser schnell solche utopischen Visionen loswerden. Und wer schreibt "warum kompliziert wenn es auch einfach geht" sollte schon sicher sein, dass er wirklich weiß was er macht, und was die Auswirkungen dieser "Einfachheit" wären.
________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist | |
Re: Prozess beenden | | | Autor: jvbsl | Datum: 26.10.10 20:07 |
| also die ersten Schritte werden evtl. etwas schwerer sein, als nur Code zu kopieren einzufügen und anschließend zu verändern, jedoch bietet dir die IDE anschließend IntelliSense für die Excel Objekte an, was das Programmieren sowie Fehlerfinden wesentlich vereinfacht... | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|