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

VBA-Project Passwort beim Beenden von Excel

VBA-Project Passwort beim Beenden von Excel
05.06.2008 09:58:00
Excel
Hallo,
kann mir vielleicht einer helfen?
Ich habe einen nicht reproduzierbaren Fall, dass ich beim Beenden von Excel teilweise noch ein VBA-Project Passwort eingeben soll.
Das poppt immer hoch, obwohl Excel schon geschlossen ist. Egal ob ich das Passwort eingebe oder nicht, es passiert nichts.
Ich werde mehrmals aufgefordert, dass Passwort einzugeben. Die Meldungen kann man einfach wegklicken, aber das nervt.
Es handelt sich um ein Projekt, das Passwort geschützt ist. Allerdings wird am Code nichts geändert.
Die Mappe wird aufgemacht, Daten reingeschrieben und wieder zugemacht.
Hatte das Problem schon mal einer?
Vielen Dank.
Gruß
Björn

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 10:06:00
Excel
Hi Björn,
Ich habe einen nicht reproduzierbaren Fall,
Dann wird's schwierig. V.a. weil dein Code hier unsichtbar ist.
Enthält die Mappe eventuell irgendwelche .OnTime Prozeduren ?
GreetZ Renée

AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 10:12:42
Excel
Hallo Renée,
nein, es sind keine .OnTime Prozeduren drin.
Es handelt sich um ganz primitiven Code, der einen Blattschutz entfernt, Zeilen einfügt oder löscht und denn Blattschutz wieder rein macht.
Das ganze über eine Userform gesteuert, die aus dem jeweiligen Blatt per Commandbutton aufgerufen wird.
Sonst ist da nix drin.
Aber wie gesagt, es wird an den Makros nichts verändert, es werden auch nicht unbedingt immer welche ausgeführt.
Gruß
Björn

Anzeige
AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 10:44:00
Excel
Hallo.
Habe doch was rausgefunden, der Fehler ist nun doch reproduzierbar.
Ich rufe aus einer anderen Mappe die Makros der geschützten Mappe auf. Nur dann kommt die Kennwort-Abfrage beim Beenden.
Gruß
Björn
So sieht der Aufruf aus der externen Datei aus.

Sub delete_lines(blatt As String, Knopf As String, zeile As Integer)
'# Variablendeklaration                                     #
Dim letzte As Integer  'Nummer der letzten Zeile        #
Dim wb     As Object   'Workbook                        #
Dim ws     As Object   'Worksheet                       #
Dim i      As Integer  'Zähler                          #
Dim anz    As Integer  'Anzahl OLEObjects               #
Dim ix     As Integer  'Index des gesuchten OLEObjects  #
'On Error GoTo ende
1 Set wb = Workbooks("Vorlage1")
2 Set ws = wb.Worksheets(blatt)
ws.Activate
3  letzte = Names("bottom" & blatt).RefersToRange.Row - 1 'letzte Zeile finden
'OLEObjects in Blatt zählen
anz = ws.OLEObjects.Count
'Index des gesuchten Buttons
ix = 0
For i = 1 To anz
If ws.OLEObjects(i).Name = Knopf Then
ix = i
Exit For
End If
Next i
'Wenn der Button nicht gefunden wurde soll ein Fehler erzeugt werden.
4  If ix = 0 Then Error 25000
'Bildschirmaktualisierung ausschalten
5  Application.ScreenUpdating = False
'Mindestens 30 Zeilen sollen sichtbar bleiben
If letzte > 30 And letzte > zeile Then
For i = zeile To letzte
ws.Rows(zeile).Select
SendKeys "{RIGHT}"  'hier wird Meldung automatisch bestätigt, ob wirklich gelöscht werden  _
soll
SendKeys "{ENTER}"
6      ws.OLEObjects(ix).Object = True
Next i
End If
ws.Range("A15").Select
ende:
On Error GoTo 0
Application.ScreenUpdating = True
'wb.Worksheets("Zusammenfassung").Select
If Err.Number > 0 Then
MsgBox Erl
End If
End Sub


Anzeige
AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 11:05:24
Excel
Hallo Björn,
guckst du hier: http://support.microsoft.com/kb/280454/de
Du hast da einen Verweis auf ein Objekt der FM20.dll drin, den du nicht sauber zurücksetzt. Also, alle Userforms wirklich entladen (Unload) und nicht nur ausblenden (Hide) und alle Verweise auf Objekte der FM20 - Controls wirklich auf Nothing setzen.
Gruß
Nepumuk

AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 11:25:02
Excel
Hallo Nepumuk,
Danke, aber leider hilft mir das nicht viel. Vielleicht verstehe ich es auch nicht ganz ;-)
Ich habe am Ende folgendes hinzugefügt:
Set wb = Nothing
Set ws = Nothing
Es liegt nur an der Zeile:
ws.OLEObjects(ix).Object = True
Also die Stelle, an der ich den Button drücke.
Wenn ich diese Zeile auskommentiere, kommt die Meldung nicht.
In der Vorlage werden alle Forms mit unload beendet, daran lag es nicht.
Die Vorlage darf auch nicht verändert werden, da es sich um ein Kundenformular handelt.
Woran könnte es noch liegen?
Gruß
Björn

Anzeige
AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 11:47:00
Excel
Hallo Björn,
such mal mit Ctrl+F nach allen Set - Anweisungen und schau nach, ob da irgendwo ein Control dabei ist. Ich kann aus dem bisher von dir gezeigten Code natürlich auch keinen Fehler ableiten.
Gruß
Nepumuk

AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 11:59:20
Excel
Hallo,
ich finde nur die Zuweisung von irgendwelchen Range, Row, Selection usw.
Aber ich werde das nachher noch mal genauer anschauen.
Jetzt erst mal Mahlzeit ;-)
Gruß
Björn

AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 13:45:24
Excel
Hallo.
So, jetzt habe ich den ganzen Code durschgeschaut.
Mit "Set" werden nur diverse Range-Variablen gesetzt.
Ich darf den Code aber leider nicht veröffentlichen, wie gesagt, stammt von einem Kunden.
Ich verstehe das einfach nicht.
Danke für Euere Hilfe.
Gruß
Björn

Anzeige
AW: VBA-Project Passwort beim Beenden von Excel
05.06.2008 16:24:00
Excel
Hallo!
Wenn der Code von einem Kunden stammt, dann wende Dich doch an den selben. Er wird besser wissen, was er da gemacht hat. Oder Frage ihn, ob Du den Code hier posten darfst.
Gruß, Rene

Problem behoben
06.06.2008 08:47:15
Björn
Hallo zusammen,
erst mal vielen Dank für Eure Hilfe. Habe das Problem mit Hilfe eines Kollegen gelöst.
Das Problem lag nicht in den Excel Mappen, sondern im aufrufenden Programm (OpenEdge).
Dort hatte ich ein ein Handle auf ein Worksheet. Diesem Handle habe ich ein Worksheet zugewiesen, dann das Sheet gefüllt und danach dem gleichen Handle das nächste Blatt zugewiesen. Und genau das war das Problem.
Man muss in OpenEdge zuerst eine Release Object machen, bevor ich dem Handle was anderes zuweise, warum weiß ich nicht und verstehe ich auch nicht. Aber das war auf jeden Fall die Lösung.
Irgendwie scheint trotz der neuen Zuweisung was von der alten bestehen zu bleiben. Zwar habe ich am Ende meiner Prozedur ein Release Object gemacht, aber das galt wohl nur für das aktuelle.
Wie gesagt, verstehen kann ich das nicht.
Vielleicht hilft das ja einem anderen auch.
Nochmals vielen Dank für Eure Bemühungen.
Gruß
Björn
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige