Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei öffnen über VBA ohne Makros zu aktivieren

Datei öffnen über VBA ohne Makros zu aktivieren
17.01.2008 14:26:00
Torsten
Hallo beisammen,
für unseren Mitarbeitershop habe ich einen Bestellschein erarbeitet, in dem die MA ihre Bestellungen eingeben und die Datei direkt per Mail an die entsprechende Abteilung senden können. Logischerweise enthält diese VBA-Code, unter anderem auch ein paar Zeilen zum Schließen (before close).
Über eine 2. Datei möchte ich ein WS in dem Bestellschein ebenfalls über einen Code aktualisieren (Preisliste). Dies funktioniert, bis es zum Schließen des Bestellscheins kommt, da hakt's mit dem Code "before close". Bevor ich mir hier den Kopf zerbreche wie ich das behebe, würde es mir schon helfen wenn ich den Code:
Workbooks.Open Filename:= _
"Y:\Human Resources\Post\Mitarbeitershop\Bestellschein.xls", UpdateLinks:=3
soweit anpassen könnte, daß diese Datei o h n e Makros zu aktivieren geöffnet wird. Könnt Ihr mir dabei behilflich sein?
Besten Dank im voraus.
Gruß
Torsten

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen über VBA ohne Makros zu aktiviere
17.01.2008 14:49:22
Matthias
Hallo Thorsten,
wenn nur die Events deaktiviert werden sollen (das müsste ja reichen für deine Zwecke):

Application.EnableEvents = False
On Error Resume Next
Workbooks.Open Filename:= _
"Y:\Human Resources\Post\Mitarbeitershop\Bestellschein.xls", UpdateLinks:=3
If Err.Number>0 Then MsgBox Err.Description
On Error GoTo 0
Application.EnableEvents = True


Das On Error vermeidet, dass bei einem Fehler beim Öffnen die Events ausgeschaltet bleiben.
Gruß Matthias

AW: Datei öffnen über VBA ohne Makros zu aktiviere
17.01.2008 16:44:16
Torsten
Hallo Matthias,
vielen Dank für Deine Rückmeldung - leider bleibt der Code immer noch an der gleichen Stelle hängen.
Die Aktualisierung der Datei "Bestellschein" funktioniert, nur wenn die Datei wieder geschlossen wird, bleibt Excel mit der Meldung "Zelle / Diagramm ist schreibgeschützt" bei ".Range("D4").Value = "ja" hängen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Code in Datei "Bestellschein.xls"
Application.ScreenUpdating = False
Dim ws As Worksheet
With Worksheets("FORM")
.Unprotect Password:="Kennwort"
........
.Range("D11").Value = "ja"
.......
.Protect Password:="Kennwort"
End With
obwohl ich den Passwortschutz vorher aufhebe. Woran kann das liegen?
Gruß
Torsten

Anzeige
AW: Datei öffnen über VBA ohne Makros zu aktiviere
17.01.2008 17:18:00
Matthias
Hi Torsten,
an dem von dir geposteten Code kann es nicht liegen. Habe eine neue Mappe mit diesem Code versehen (in DieseArbeitsmappe):

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim ws As Worksheet
With Worksheets("FORM")
.Unprotect Password:="Kennwort"
.Range("D11").Value = "ja"
.Protect Password:="Kennwort"
End With
End Sub


...und ein Blatt "FORM" genannt und dieses mit dem Kennwort "Kennwort" geschützt.
Da kommt kein Fehler.
Gruß Matthias

AW: Datei öffnen über VBA ohne Makros zu aktiviere
17.01.2008 17:43:21
Torsten
Hallo Matthias,
das funktioniert bei mir auch, solange ich diese Bestelldatei.xls direkt öffne und wieder schließe.
Aber in meinem Fall wird die Bestelldatei über den VBA-Code einer anderen Datei geöffnet und wenn's zum Schließen kommt, bricht der Code an der o.g. Stelle ab.
Vielleicht habe ich das eben nicht gut genug beschrieben.
Hast Du eine Idee?
Gruß
Torsten

Anzeige
AW: Datei öffnen über VBA ohne Makros zu aktiviere
17.01.2008 19:17:20
Matthias
Hallo Torsten,
dann schreib mal

With Me.Worksheets("FORM")


weil Worksheets() referenziert immer die aktive Mappe, Me.Worksheets() in DieseArbeitsmappe bzw ThisWorkbook.Worksheets() bezieht sich auf die Mappe, die den Code beinhaltet.
Gruß Matthias

AW: Datei öffnen über VBA ohne Makros zu aktiviere
18.01.2008 09:04:37
Torsten
Guten Morgen Matthias,
das war's leider auch nicht.
Kann man das Öffnen dieser Datei über einen VBA-Code nicht so steuern, daß die darin enthaltenen Markros nicht aktiviert werden? Das erscheint mir einfaacher, als hier weiter dran rumzudoktern.
Gruß
Torsten

Anzeige
AW: Datei öffnen über VBA ohne Makros zu aktiviere
21.01.2008 02:00:00
Daniel
Hi
wenn das Problem in den Automatischen Makros liegt, die beim Starten oder Schließen automatisch laufen, dann könntest du das folgendermassen lösen:
zum Öffnen

Application.EnableEvents = False
Workbooks.Open "DeineDatei.xls"
Application.EnableEvents = true


und beim Schließen:


Application.EnableEvents = False
Workbooks("DeineDatei.xls").Close
Application.EnableEvents = true


die Makros sind dann zwar nicht generell deaktivert, aber zumindes die Event-Gesteuerten wie WORKBOOK_OPEN, WORKBOOK_BEFORECLOSE, WORKSHEET_CHANGE werden nicht mehr gestartet, solange Application.EnableEvents=FALSE gesetzt ist.
Dieser Schalter gilt allerdings Global für die Excel-Anwendung, dh. für alle Excel-Dateien, die gerade geöffnet sind.
Bricht das Makro mit Fehler ab, so bleibt die zuletzt gemachte Einstellung erhalten. und du musst es im Bedarfsfall über die Eingabe im Direktfenster wieder auf den richigen Wert setzten.
Gruß, Daniel

Anzeige
AW: erledigt - mT
21.01.2008 10:34:00
Torsten
Hallo Daniel,
vielen Dank für Deine Rückmeldung. Hat funktioniert. Das war daher eigentlich schon durch Matthias G. richtig beantwortet worden, nur durch Deine Meldung ist mir bewußt geworden, daß ich das "Application.EnableEvents = true" in meinem Code zu früh gesetzt hatte.
Nochmals Dank an alle.
Gruß
Torsten

37 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige