Hallo,
ich habe ein Script, über das ich meine Dtenbank in ein Excelblatt exportiere.
Kann mir jemand sagen, wie ich dieses Sheet im nlschöuß daran automatisch als wk.3 abspeichern und dann schließen kann????
Hallo,
ich habe ein Script, über das ich meine Dtenbank in ein Excelblatt exportiere.
Kann mir jemand sagen, wie ich dieses Sheet im nlschöuß daran automatisch als wk.3 abspeichern und dann schließen kann????
1. zeichne Dir ein Makro unter Excel auf, nimm den VBA-Code,
2. ersetze die Variablen durch Werte (kannst Du im VBA-Editor auslesen),
3. kopiere den Code in Dein Script und
4. passe den kopierten Code syntaktisch an
Gruß
Dirk
Hallo Dirk,
mein Makro sieht so aus:
Chdir "H:\Eigene Dateien"
ActiveWorkbook.SaveAs Filename:="H:\Eigene Dateien\Backup.xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
Ich habe das in meinem Agenten unter ShutDownExcel folgendermaßen integriert:
Sub ShutDownExcel
' Shut down Excel.
xlApp.DisplayAlerts = False
Chdir "H:\Eigene Dateien"
xlApp.Workbooks.SaveAs Filename:="H:\Eigene Dateien\Backup.xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
xlApp.ActiveWorkbook.close
xlApp.Quit
Set xlSheet = Nothing
Set xlWorkbook = Nothing
Set xlApp = Nothing
End Sub
allerdings akzeptiert er dieses nicht?
Gruß Marie
Hi,
Diese Schreibweise akzeptiert Lotus Script auch nicht.
Dies kann nur VB bzw. VBA.
Auch noch die Frage danach, ob die verwendete Konstante wie xlNormal in Deinem LN-Script definiert ist.
In LN-Script muesste der entspechende Aufruf eigentlich so aussehen.
Call xlApp.Workbooks.SaveAs(...)
Andreas
...ich habe es jetzt folgendermaßen geändert:
Sub ShutDownExcel
' Shut down Excel.
xlApp.DisplayAlerts = False
Call xlApp.Workbooks.SaveAs("H:\Eigene Dateien\Backup.xls")
'xlApp.Workbooks.Saved
xlApp.ActiveWorkbook.close
xlApp.Quit
Set xlSheet = Nothing
Set xlWorkbook = Nothing
Set xlApp = Nothing
End Sub
..jetzt kommt aber folgende Fehlermeldung:
"Instance Member SAVEAS does not excist"
Muss ich SAVEAS noch irdendwo definieren?
Wo hast du denn xlApp zugewiesen bzw initialisiert ?
in Declarations wie folgt:
Dim xlApp As Variant
????
Und was ist mit der Initialisierung per CreateObject ?
Schau dir doch bitte mal die Designer Hilfe zu dem Thema an
wie meinst Du das?
...ich glaube ich bin zu blöde!!!
jetzt sieht es so aus:
Sub InitialExcelSheet ()
On Error Goto InitializeExcelError
'Set up the Excel Spreadsheet.
Set xlApp = CreateObject("Excel.application")
xlApp.Visible = True ' Excel anzeigen
xlApp.Visible = False ' Excel nicht anzeigen
xlApp.Workbooks.add ' neue Excel Mappe erstellen
Set xlWorkbook = xlApp.Workbooks
xlWorkbook.Add
Set xlSheet = xlApp.Workbooks(1).Worksheets(1)
Exit Sub
InitializeExcelError:
Messagebox "(InitialExcelSheet) Error" & Str( Err ) & ": " & Error$ & " - process aborted"
' Shut down Excel.
ShutDownExcel
End Sub
Jetzt kommt die Fehlermeldung:
Die selectmethode des Rangeobjectes konnte nicht ausgeführt werden...
nimm mal die Fehlerbehandlung raus, schalte den Debugger ein und teile uns die Zeile und die Fehlermeldung mit.
Gruß
Dirk
Hi,
Versuch mal
Set xlWorkbook = xlApp.Workbooks.Add
Set xlSheet = xlWorkbook.Worksheets(1)
Call xlWorkbook.SaveAs("Filename", "FileFormat")
Andreas
Du öffnest Excel ohne ein Worksheet zu öffnen und wunderst dich dann warum dein Script auf ein nicht vorhandenes Worksheet nicht zugreifen kann ?
Wie gesagt schau dir doch bitte mal die Themen in der Notes Designer Hilfe und in der Excel VBA Hilfe an, wie das ganze abzulaufen hat.
wo soll ich das denn eifügen?
Die Fehrlermeldung bleibt die gleiche!!!!
Wie starte ichd en Debugger?
Wenn dir schon die Grundlagen fehlen, stellt sich die Frage, ob es wirklich so eine weise Entscheidung ist, selbst dran rumzuprobieren.
...ja, mir fehlen die Grundlagen, und? Habe ich dann nicht das recht es trotzdem auszuprobieren?
Geht es in diesem Forum darum Hilfestellungen zu geben, oder jmd. zu finden auf dem man rumhacken kann????
Richtig, es geht um Hilfestellungen. Nicht um Nachhilfe. Das hat wenig mit "auf jemandem rumhacken" zu tun, sondern eher damit, dass wir das in unserer Freizeit machen und kein Geld dafür verlangen. Im Gegensatz zu entsprechenden Anbietern. Es gibt Forumsteilnehmer, die solche Schulungen auch anbieten, die könnte man fragen. Ob die Schulung aber im Rahmen eines solchen Threads stattfinden muss, das ist bestenfalls fraglich.
Danke, ich habe es auch so hinbekommen!!!
Und magst Du des Rätsels Lösung eventuell preisgeben, damit andere dank Deiner Hilfestellung nicht in das gleiche Problem laufen?
Ach ja. Das Themepräfix habe ich mal auf "erledigt" gesetzt. Das findest Du bei einem Post ganz oben. Macht die ganze Sache was offen oder erledigt ist etwas einfacher.