Anzeigen einer Excel Datei aus VB heraus

Wenn ich das so mache druckt mir das shellexecute das gleich aus. Habe auch die Einträge erweitert, wie im vb Archiv aber das mag auch nicht so richtig.

Edit: Nun bin ich wieder genau so weit vie vorher. D:\Eigene.xls wurde nicht gefunden.
 
Zuletzt bearbeitet:
Hmm... da bin ich dann auch etwas überfragt, in C ist das alles
kein Problem! Frag am besten mal Lirion oder so!

Greetz...
Sinac
 
ShellExecute ist schon ganz richtig, damit geht das auch.

Erstmal fügst Du ein neues Modul für die Deklarationen der API-Funktionen in Dein Projekt ein, in dem Du die ShellExecute-Funktion importierst:
Code:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Dann setzt Du einfach noch einen Verweis auf die Microsoft Scripting Runtime, damit kannst Du einfach überprüfen, ob die Datei existiert.
Die Prozedur zum Aufrufen der Excel-Datei sieht dann so aus:
Code:
'Variablen und Objekte deklarieren
Dim fso As FileSystemObject
'Objekte erzeugen
Set fso = New FileSystemObject
'Prüfen, ob die Excel-Datei existiert
If fso.FileExists("C:\eigene.xls") Then
    ShellExecute Me.hwnd, "open", "C:\eigene.xls", "", "", 0
Else
    MsgBox "Datei nicht gefunden.", vbExclamation, "Fehler"
End If
'Objekte wieder freigeben
Set fso = Nothing

Die andere Möglichkeit wäre, Excel selbst über eine OLE-Schnittstelle in Deinem Projekt einzubinden und darüber dann die Datei zu öffnen - aber das dürfte etwas zu kompliziert sein. ;)
 
Danke das hat mir schon mal weiter geholfen. Jetzt habe ich nur noch das Problem das sich Excel sofort wieder schließt. So schnell kann niemand lesen wie das wieder zu ist.
 
Bei mir bleibt das auf, ich hab aber auch Office 2000. Das könnte evtl. mit Benutzerrechten oder anderen Systemeinstellungen zu tun haben. Normalerweise sollte Excel sich da nicht direkt wieder schliessen.

Kurz: Da weiss ich auch nicht weiter, das ist aber auch definitiv nicht normal.
 
Ich habe Ofice XP und als Admin habe ich mit den Rechen eigentlich auch kein Problem. Merkwürdig aber wäre ja nicht normal wenn es normal laufen würde.
 
Zurück