Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: developperFLY am 08.01.10 - 09:37:41

Titel: Excel save and close
Beitrag von: developperFLY am 08.01.10 - 09:37:41
Hallo zusammen

Ich muss einen Export einer DB machen. Mir ist es möglich das File soweit mit den Daten zu befüllen. Nur habe ich Mühe mit dem Save and Close. Es wird kein bestehendes Excel File geöffnet, sondern nur eines erstellt und soll dan gespeichert werden.


'erstellungen
Set Excel = CreateObject("Excel.Application")
Excel.Visible = False
Call Excel.Workbook.add
Set xlWorkbook = Excel.Workbooks
Set xlSheet = Excel.Workbooks(1).Worksheets(1)

'Mit daten befüllen
'......

'Abschluss
Call Excel.SaveAs(xlFilename)
Call xlWorkbook.Close()
Call Excel.Quit()
Set Excel = Nothing

Also irgendwie hagt er mit Excel.SaveAs ... Gibt es irgendwo eine Referenz seite wo alle Excel Klassen aufgelistet sind?
Titel: Re: Excel save and close
Beitrag von: ZaLudtske am 08.01.10 - 09:41:05
In der VBA-Hilfe von Ecxel.

THT

Rainer
Titel: Re: Excel save and close
Beitrag von: ascabg am 08.01.10 - 09:51:23
Hallo,

Auch zu empfehlen ist, wenn Du in der VBA-Umgebung bist und die Taste F2 (Objektkatalog) betaetigst.


Andreas
Titel: Re: Excel save and close
Beitrag von: developperFLY am 08.01.10 - 10:25:21
Call Excel.SaveWorkspace([Filename])

habe ich gefunden, aber, er frägt nun folgt ein SPeicher Dialog. Und er frägt den User, wo soll er das Excel File speichern.

Wie kann ich das verstecken. Den die Funktion übernimmt keinen parameter sonst mehr? (forcieren).
Titel: Re: Excel save and close
Beitrag von: DerAndre am 08.01.10 - 10:48:35
Indem Du den vollen Pfad mitgibst.

z.B. c:\temp\blabla.xls

Und das aktive Workbook nimmst

    ActiveWorkbook.SaveAs filename, _
        FileFormat:=xlExcel9795, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
Titel: Re: Excel save and close
Beitrag von: ascabg am 08.01.10 - 10:54:23
Hallo,

Und um es in eine Prozedur-Schreibweise zu packen

Call Workbook.SaveAs(Filename, Fileformat)


Mehr brauchst Du eigentlich nicht.


Andreas
Titel: Re: Excel save and close
Beitrag von: Wulfman am 24.02.10 - 13:22:45
Hallo,

ich hab das jetzt so gemacht, weil die angegebenen Beispiele bei mir nicht funktioniert haben.

Call oExcel.SaveWorkbook("T:\Programmdaten\F-Call\b1s-ma_2.xls")
Delete oExcel


Notes legt die Datei an, aber wenn ich sie mit Excel öffnen will kommt die Fehlermeldung dass ich eine Datei öffnen möchte, deren Format von dem in der Dateierweiterung angegebenen abweicht.

Ich öffne dann trotzdem und speichere sie mit Excel wieder ab. Dann kommt die Meldung nicht mehr und die Datei ist doppelt so groß wie vorher.

Kann man da was machen, dass dies nicht mehr vorkommt? Ich möchte diese Datei automatisiert regelmäßig erzeugen und per Mail versenden.

Gruß

Wolfgang
Titel: Re: Excel save and close
Beitrag von: ascabg am 24.02.10 - 13:48:34
Um bei Deinem Beispiel zu bleiben.

Call oExcel.ActiveWorkbook.SaveAs(<Dein Dateiname>, <Dateiformat>)

Die Konstanten und deren Werte - fuer das Dateiformat - kannst Du der VBA-Hilfe in Excel entnehmen.

Auch wuerde ich nicht sofort mit Delete oExcel arbeiten, sondern erst einmal
oExcel.Quit und dann erst Dein Delete.


Andreas
Titel: Re: Excel save and close
Beitrag von: ascabg am 24.02.10 - 13:52:07
Ich vergass noch.

Zitat
Ich möchte diese Datei automatisiert regelmäßig erzeugen und per Mail versenden
Was kann man sich hierunter vorstellen?

Wenn ein periodischer Agent sich dahinter verbergen soll, dann bekommst Du auf jeden Fall Probleme beim Ablegen der Daten auf einem Netzwerklaufwerk.


Andreas
Titel: Re: Excel save and close
Beitrag von: Wulfman am 24.02.10 - 14:41:27
Wenn das alles automatisiert läuft lege ich die Datei natürlich auf einem Serverlaufwerk ab.

Hab festgestellt, dass der Befehl oExcel.Quit auch nicht funktioniert, als Fehler erscheint:

Not a member: QUIT
Titel: Re: Excel save and close
Beitrag von: ascabg am 24.02.10 - 15:35:58
Zitat
dass der Befehl oExcel.Quit auch nicht funktioniert
Das wundert mich nun doch etwas.

Denn genau diesen Befehl verwende ich bei meinen Export-Routinen permanent (Excel 97 - 2007) und hatte noch nie derartige Probleme.

Zitat
lege ich die Datei natürlich auf einem Serverlaufwerk ab
Genau das wird ja dann das Problem.
Agent = scheduled (laeuft unter dem Benutzer, unter dem der Server gestartet wurden)
Da dieser jedoch in den meisten Faellen als Dienst definiert ist, hat der Server ein Systemkonto und dieses hat keine Möglichkeit auf Netzwerklaufwerke zuzugreifen.
Wurde in den verschiedenen LN-Foren bereits ausgiebig diskutiert.


Andreas
Titel: Re: Excel save and close
Beitrag von: Wulfman am 24.02.10 - 15:39:01

Zitat
lege ich die Datei natürlich auf einem Serverlaufwerk ab
Genau das wird ja dann das Problem.
Agent = scheduled (laeuft unter dem Benutzer, unter dem der Server gestartet wurden)
Da dieser jedoch in den meisten Faellen als Dienst definiert ist, hat der Server ein Systemkonto und dieses hat keine Möglichkeit auf Netzwerklaufwerke zuzugreifen.
Wurde in den verschiedenen LN-Foren bereits ausgiebig diskutiert.


Andreas

mit Serverlaufwerk meine ich Laufwerk auf Domino-Server