Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel 2016 versucht selbständig Datei zu laden

Excel 2016 versucht selbständig Datei zu laden
23.04.2019 00:08:44
Peter
Excel-Version ist 2016!
Hallo liebe Excel-Spezialisten,
ich habe ein längeres Makro erstellt, in welchem eine normal geladene Datei mit Inhalten versehen wird (Kopie aus anderer Datei) und dann mit Passworten auf einem anderen Laufwerk mit demselben Namen gespeichert wird. Anschließend schließe ich die gespeicherte Datei mit "Close". Nun will Excel die gerade gespeicherte Datei öffnen und bittet um die Eingabe der Passworte. Dies geschieht erst mit der Ausführung von "Close", vorher läuft alles normal ab. Ich muss noch hinzufügen, dass das Makro nicht von der Datei, die geschlossen wird, sondern von einer anderen Datei ausgeführt wird. Ich habe auch ein Modell konstruiert, welches die gleichen Anweisungs-Abfolgen enthält, also eine Steuerungsdatei, eine Datei die normal geladen wird und die anschließend mit Passwörtern gespeichert und geschlossen wird. Ich dachte, der genannte Fehler würde dann auch hier auftreten, aber leider nicht, alles lief ordnungsgemäß durch. Hat jemand eine Erklärung für dieses Verhalten von Excel 2016? Mit Sendkeys und "{enter}" kann ich zwar die Aufforderung zum Öffnen abwürgen, doch das ist ja keine "saubere" Lösung.
Mit freundlichem Gruß
Peter Kloßek

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 2016 versucht selbständig Datei zu laden
23.04.2019 06:46:48
onur
Das Problem wird wohl eher bei deinem Code liegen als bei Excel.
Aber da du die Datei nicht gepostet hast, .....
AW: Excel 2016 versucht selbständig Datei zu laden
23.04.2019 09:45:28
Nepumuk
Hallo Peter,
hast du in deiner Mappe eine OnTime-Prozedur am laufen?
Gruß
Nepumuk
AW: Excel 2016 versucht selbständig Datei zu laden
23.04.2019 11:20:36
Peter
Hallo Nepumuk,
vielen Dank für Deine Antwort. Ich habe in dem Makro eine Warteanweisung, die nach dem Laden der Datei ohne Passworte ausgeführt wird:
  • newHour = Hour(Now())
    newMinute = Minute(Now())
    newSecond = Second(Now()) + 15
    waitTime = TimeSerial(newHour, newMinute, newSecond)
    Application.Wait waitTime

  • Mit dem Laden der Datei sind umfangreiche auto-open-Anweisungen auszuführen, bevor die nächsten Schritte erfolgen.
    Sollte es daran liegen? Bis auf die "wait"-Anweisung enthält das Makro nur ganz normale Befehle, die wie schon gesagt auch ordnungsgemäß ausgeführt werden; deshalb habe ich auf die Abbildung verzichtet.
    Mit freundlichem Gruß
    Peter Kloßek
    Anzeige
    AW: Excel 2016 versucht selbständig Datei zu laden
    23.04.2019 11:49:22
    Nepumuk
    Hallo Peter,
    probieren geht über studieren. Kommentier einfach mal die Wait-Methode aus und schau was passiert.
    Wenn es an der Wait-Methode liegt, dann ersetze sie durch die Sleep-Methode.
    Beispiel:
    Option Explicit

    Private Declare PtrSafe Sub Sleep Lib "kernel32.dll" ( _
        ByVal dwMilliseconds As Long)

    Public Sub Test()
        Call Sleep(15000)
        MsgBox "passt"
    End Sub

    Diese Methode belastet auch den Prozessor nicht.
    Gruß
    Nepumuk
    Anzeige
    AW: Excel 2016 versucht selbständig Datei zu laden
    23.04.2019 13:14:11
    Peter
    Hallo Nepumuk,
    wenn ich die "wait"-Anweisung weglasse, bekomme ich dasselbe Ergebnis. In der Datei, die zu Anfang ohne Kennworte geladen wird, gibt es unter vielen auto-open-Anweisungen auch eine 0n-Time-Anweisung:
    "Application.OnTime Now + TimeValue("00:00:03"), "Makro51"", könnte es vielleicht damit zusammenhängen? Ich werde heute Nachmittag noch einen Versuch mit einer "Sleep"-Anweisung durchführen und über die Ergebnisse berichten.
    M.f.G. Peter Kloßek
    AW: Makro51?
    23.04.2019 13:19:59
    Fennek
    Hallo,
    du hast "Makro51" geprüftund nicht auffälliges gefunden?
    Es gibt auch weitere Möglichkeiten:
    Öffne ein CMD Fenster (Win-Taste + r: cmd) und tippe
    
    dir /s %appdata%\*.xl*
    
    Wie ist das Ergebnis?
    mfg
    Anzeige
    AW: Makro51?
    23.04.2019 19:38:54
    Peter
    @Fennek
    Hallo Fennek,
    danke für Deine Nachricht. Das Ergebnis: "Dir /s ..." konnte nicht gefunden werden.
    M.f.G. Peter Kloßek
    AW: Excel 2016 versucht selbständig Datei zu laden
    23.04.2019 15:26:36
    Nepumuk
    Hallo Peter,
    ich hatte dich nach der OnTime-Methode extra gefragt. Die ist der Auslöser des wieder Öffnens. Du musst die Methode explizit beenden. Dazu die Methode mit der selben Zeit und dem selben Makro aufrufen aber den Schedule-Parameter auf False setzen.
    Gruß
    Nepumuk
    AW: Excel 2016 versucht selbständig Datei zu laden
    23.04.2019 20:21:48
    Peter
    @Nepumuk
    Hallo Nepumuk,
    der Fehler taucht nur bei einer Steuerungsdatei auf. Mit anderen Steuerungsdateien wird die fragliche Datei mit demselben auto-open-Makro aufgerufen, aber mit "ActiveWorkbook.Save" und "Close" geschlossen. Dabei taucht der Fehler nicht auf. Ich habe jetzt auch in meinen Test-Dateien einen auto-Makro mit einer Verzögerung und einem weiterführenden Call eingebaut. Bei einem nochmaligen Test taucht der Fehler nicht auf.
    Hier mein Makro. Der Fehler kommt nach der Anweisung "Close".
  • If Range("Tabelle1!h9") > 0 Then
    MsgBox "Es sind nicht alle erforderlichen Felder ausgefüllt. Bitte fehlende Eintragungen ergänzen."
    Exit Sub
    End If
    ActiveWorkbook.Unprotect Password:="Admin_011"
    Sheets("Tab252").Visible = True
    Sheets("Tab252").Unprotect Password:="Admin_020"
    Laufw1 = Range("Tabelle1!h12")
    Pfad1 = Range("Tabelle1!g12")
    Sheets("Tabelle1").Unprotect Password:="Admin_010"
    Kennwort1 = Range("Tab252!b12")
    Kennwort2 = Range("Tab252!b13")
    Datname4 = Range("Tabelle1!d15")
    Datname5 = Range("Tab252!h7")
    Datname10 = Range("Tabelle1!g13")
    Workbooks.Open (Datname10)
    newHour = Hour(Now())
    newMinute = Minute(Now())
    newSecond = Second(Now()) + 15
    waitTime = TimeSerial(newHour, newMinute, newSecond)
    Application.Wait waitTime
    ActiveSheet.Unprotect Password:="Admin101"
    Windows("LogIn_Patient.xlsm").Activate
    Range("Tabelle1!g5:g6").Copy
    Windows("Meine Datei.xlsm").Activate
    Range("Tab536!i9").PasteSpecial xlPasteValues
    Windows("Login_Patient.xlsm").Activate
    Range("Tabelle1!g7").Copy
    Windows("Meine Datei.xlsm").Activate
    Range("Tab536!p3").PasteSpecial xlPasteValues
    ActiveSheet.Protect Password:="Admin101"
    ActiveWorkbook.SaveAs (Datname4), Password:=(Kennwort1), WriteResPassword:=(Kennwort2)
    ActiveWorkbook.Close

  • Und dazu noch der auto-Makro (in der Datei, die fälschlich wiederaufgerufen werden soll):
  • 
    Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    Application.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", False)"
    'ActiveWindow.DisplayGridlines = False
    'Application.DisplayFullScreen = True
    With ActiveWindow
    .WindowState = xlNormal
    .Zoom = 90
    .Top = 1
    .Left = 1
    .Width = 1440
    .Height = 800
    End With
    Application.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", False)"
    Application.OnKey "^{PGDN}", ""
    Application.OnKey "^{PGUP}", ""
    Application.OnKey "^+{PGDN}", ""
    Application.OnKey "^+{PGUP}", ""
    Application.OnKey "^g", ""
    Application.OnKey "^n", ""
    Application.OnKey "^o", ""
    Application.OnKey "^p", ""
    Application.OnKey "^s", ""
    Application.OnKey "{F5}", ""
    Application.OnKey "%+{F1}", ""
    Application.OnKey "^{F4}", ""
    Application.OnKey "%{F4}", ""
    Application.OnKey "%{F8}", ""
    Application.OnKey "+{F11}", ""
    Application.OnKey "%{F11}", ""
    Application.OnKey "{F12}", ""
    For i = 1 To 12
    N = Range("Tab536!b3")
    Sheets(N).Select
    ActiveWindow.DisplayHeadings = False
    Application.DisplayFormulaBar = False
    Range("Tab536!b3") = Range("Tab536!b3") + 1
    Next i
    Range("Tab536!b3") = 1
    ActiveWindow.DisplayWorkbookTabs = False
    Sheets("Tab536").Select
    Range("Tab536!b2") = ThisWorkbook.Path
    Call Makro50
    Application.OnTime Now + TimeValue("00:00:03"), "Makro51"
    Application.ScreenUpdating = True
    End Sub
    

  • In den Makros 50 und 51 gibt es keinerlei Warte-Anweisungen.
    Kannst Du mir freundlicherweise noch mitteilen, wie die Code-Zeile mit dem Schedule-Parameter genau lauten muß? Etwa "Application.OnTime Now + TimeValue("00:00:03") = False"
    Und außerdem natürlich noch vielen herzlichen Dank für Eure Hilfestellung.
    M.f.G. Kloßek
    Anzeige
    AW: Excel 2016 versucht selbständig Datei zu laden
    24.04.2019 11:17:04
    Peter
    @Nepumuk
    Hallo, lieber Nepumuk,
    Du hattest natürlich völlig recht. Der Fehler taucht aber nur dann auf, wenn man von einer anderen Datei aus eine Datei mit auto-Makro und darin "OnTime..." startet. Ich habe mich im Internet nach den Schedule-Parametern umgesehen und dort nur komplizierte Anweisungen - noch dazu in Englisch - gefunden. Da der auto-open-Makro bei der Errichtung auf einem anderen Laufwerk nicht gebraucht wird, habe ich über "If ..." und eine Kennzahl die Ausführung des auto-Makros abgestellt. Wird die Datei vom eigentlichen Benutzer von auf dem zuvor gespeicherten Laufwerk gestartet, wird der auto-Makro aktiv, weil vor dem Speichern die Kennzahl von "0" auf "1" gesetzt wurde.
    Also herzlichen Dank für Eure Hilfe. Jetzt läuft alles bei mir tadellos.
    M.f.G. Peter Kloßek
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige