Hallo zusammen,
ich hab ein Problem beim Öffnen einer Excel-Datei aus Notes heraus.
Ein Agent auf einem Windows Server 2008, auf dem ein 8.5.3er Client, FP3 läuft, soll eine Excel-Datei (.xls) öffnen, die auch auf dem Server liegt, Daten hineinschreiben und Excel wieder schließen. Das Ganze funktionierte auch schon sehr lange unter einem Windows Server 2003 und Office 2003. Die Datei liegt auf Laufwerkt D in einem Unterordner.
Seitdem auf Windows Server 2008 aktualisiert wurde, kam beim Öffnen der Datei die Fehlermeldung, dass sie nicht gefunden werden kann:
Fehler: 213 - Microsoft Excel: 'xxxxxxx.xls' wurde nicht gefunden. Überprüfen Sie die Rechtschreibung des Dateinamens, und überprüfen Sie, ob der Speicherort der Datei korrekt ist. Wenn Sie versuchen, die Datei über die Liste der zuletzt geöffneten Dateien zu öffnen, stellen Sie sicher, dass die Datei nicht umbenannt, verschoben oder gelöscht wurde.Bei mir lokal funktioniert dies einwandfrei, allerdings habe ich auch Office 2010. Die erste Vermutung lag bei der Office-Version. Also haben wir den Server auch auf Office 2010 aktualisiert, ohne Erfolg.
Anschließend haben wir die Rechte geprüft. Hier gibt es keine Einschränkungen. Auch wurde der User bereits ins Active Directory eingepflegt.
Irgendwo in einem Forum habe ich gelesen, dass es bei Windows Server 2008 einige Probleme mit Ordnerzugriffen gibt. Hier wurde vorgeschlagen einen weiteren Ordner anzulegen:
C:\Windows\SysWOW64\config\systemprofile\Desktop
Aber auch ohne Erfolg!
Folgender Code wurde getestet (den Part zum Schreiben der Daten in Excel kann ich mir sparen, da beim Versuch die Datei zu öffnen schon der Fehler kommt):
Sub Initialize
'-----------------------------------------------------------
' Dimensionierung der lokalen Variablen
'-----------------------------------------------------------
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim Excel As Variant
Dim xlWorkbook As Variant
Dim xlSheet As Variant
Dim xlFilename As String, xlPfad As String
'-----------------------------------------------------------
' Initialisierung der lokalen Variablen
'-----------------------------------------------------------
Set db = ses.CurrentDatabase
Set Excel = Nothing
xlFilename="xxxxxxxxx"+Cstr(jahr+1)+".xls"
'xlFilename="Test"+Cstr(jahr)+".xls"
On Error GoTo ErrorHandle
Stop
'-----------------------------------------------------------
' Connektion zu Excel, öffnen der Datei.
'-----------------------------------------------------------
Print "Excel öffnen..."
Print "Create Object"
Set Excel = CreateObject( "Excel.Application" )
Print "Excel anzeigen"
'Excel.Visible = False '// Das Excel Fenster wird nicht angezeigt
'Excel.Visible = True
Print "Zugriff auf Filename"
Excel.DefaultSaveFormat = 56
Excel.DisplayAlerts = False
Print xlFilename & " wird geöffnet..."
'Excel.Workbooks.Open(xlPfad+xlFilename) '// Öffnen der Excel Datei
Call Excel.Workbooks.Open ("D:\Unterordner\xxxxxxxxxxx.xls") -> Hier kommt der Fehler
'Excel.Workbooks.Add
Print "Excel ActiveWorkbook"
Set xlWorkbook = Excel.ActiveWorkbook
Print "Excel ActiveSheet"
Set xlSheet = xlWorkbook.ActiveSheet
xlWorkbook.CheckCompatibility = False
Print "Versuche Datei zu speichern"
Stop
xlWorkbook.save
'xlWorkbook.saveAs xlPfad+xlFilename
'xlWorkbook.saveAs "C:\Windows\SysWOW64\config\systemprofile\Desktop\xxxxxxxxxxxxx.xls", 56
Print "Datei wurde gespeichert"
xlWorkbook.CheckCompatibility = True
Excel.quit
'Excel.close
Print"Excel geschlossen"
Excel.DisplayAlerts = True
'Sleep (20)
Set Excel = Nothing
Fertig:
Exit Sub
ErrorHandle:
Print ("Fehler: "+Cstr(Err)+" - " + Error())
MsgBox ("Fehler: "+Cstr(Err)+" - " + Error())
If Not( excel Is Nothing) Then
xlWorkbook.save
excel.quit
Set excel = Nothing
End If
End Sub
Hat jemand eine Idee, woran es liegen könnte?
Danke und Gruß
Jürgen