Script zum abspeichern

  • 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????

    • Offizieller Beitrag

    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

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • 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?

    • Offizieller Beitrag

    Du musst Dir

    Code
    Set xlApp = CreateObject("Excel.application")
    xlApp.Visible = True	' Excel anzeigen
    ' xlApp.Visible = False	' Excel nicht anzeigen
    xlApp.Workbooks.add	' neue Excel Mappe erstellen


    Erst einmal das Objekt zuweisen.


    Gruß
    Dirk

  • ...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...

    • Offizieller Beitrag

    nimm mal die Fehlerbehandlung raus, schalte den Debugger ein und teile uns die Zeile und die Fehlermeldung mit.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • 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.

  • Wenn dir schon die Grundlagen fehlen, stellt sich die Frage, ob es wirklich so eine weise Entscheidung ist, selbst dran rumzuprobieren.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • ...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.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • 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.