Eingabe in Inputbox mit VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Eingabe in Inputbox mit VBA
von: S. Marty
Geschrieben am: 03.11.2015 07:15:34

Guten Morgen
Ich habe eine Arbeitsmappe, in der eine Liste mit Nummern geführt wird. Ich greife auf diese mit einer anderen Mappe zu. Da man die Nummernliste auch öffnen und Filtern will, habe ich das Speichern unterdrückt mit folgendem Code:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim strpw As String
    strpw = Application.InputBox("Sie dürfen nicht Speichern !!!", "Speichern abgebrochen")
        If strpw = "" Or strpw <> "123" Then
            Cancel = True
            Exit Sub
        End If
End Sub

Da ich nun aber über die 2. Mappe mit einem Makro die Nummerliste trotzdem speichern möchte, benötige ich eine Passwort-Eingabe bei der Inputbox mit anschliessendem "OK".
Leider ist die Makro-Aufzeichnung leer.
greez

Bild

Betrifft: AW: Eingabe in Inputbox mit VBA
von: matthias
Geschrieben am: 03.11.2015 08:26:30
Hallo Marty,
so ganz verstehe ich dein Problem nicht. Dein Speicher-Event mit Passwort funktioniert doch sehr gut. Dies habe ich folgendermaßen aus einer anderen Mappe heraus getestet:

Sub Test()
'ungespeicherte Mappe speichern unter
Workbooks("Mappe1").SaveAs Filename:="R:\Mappe1.xlsm", FileFormat:=52
End Sub
Sub Test2()
'gespeicherte mappe speichern
Workbooks("Mappe1.xlsm").Save
End Sub
Aber du kannst statt solch einen Aufwand zu betreiben den Schreibschutz der Mappe nutzen:
http://it-training-schwed.de/blog/excel-2010-arbeitsmappe-mit-schreibschutz-versehen/
Lässt du das Kennwort zum Öffnen frei, kann jeder deine Datei lesen, aber nicht ändern sofern du wenigstens dafür ein Passwort vergibst. Und das kann nicht so einfach umgangen werden wie dein Event.
lg Matthias

Bild

Betrifft: AW: Eingabe in Inputbox mit VBA
von: S. Marty
Geschrieben am: 03.11.2015 09:50:07
Salü
Gerne möchte ich aber das Passwort automatisch umgehen, wenn ich aus einem anderen Excel darau zugreife und eine Speicherung benötige. Wie mach ich das?
Ablauf:
1. Excel Nr. 1 öffnen
2. Makro in Nr. 1 wird mit folgenden Teilschritten ausgeführt
2.1 Excel Nr. 2 wird geöffnet
2.2 Werte werden geschrieben
2.3 Save
2.4 Eingabe von Passwort (möchte ich automatisch umgehen)
2.5 close
3. Nr. 1 weiterbearbeiten

Bild

Betrifft: AW: Eingabe in Inputbox mit VBA
von: S. Marty
Geschrieben am: 03.11.2015 09:50:17
Salü
Gerne möchte ich aber das Passwort automatisch umgehen, wenn ich aus einem anderen Excel darau zugreife und eine Speicherung benötige. Wie mach ich das?
Ablauf:
1. Excel Nr. 1 öffnen
2. Makro in Nr. 1 wird mit folgenden Teilschritten ausgeführt
2.1 Excel Nr. 2 wird geöffnet
2.2 Werte werden geschrieben
2.3 Save
2.4 Eingabe von Passwort (möchte ich automatisch umgehen)
2.5 close
3. Nr. 1 weiterbearbeiten

Bild

Betrifft: AW: Eingabe in Inputbox mit VBA
von: Rudi Maintaire
Geschrieben am: 03.11.2015 10:45:05
Hallo,
in der Nummernliste:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Dim dp As DocumentProperty, bSave As Boolean
  
  For Each dp In CustomDocumentProperties
    If LCase(dp.Name) = "saveme" Then bSave = True
  Next
  
  If bSave Then
    Me.CustomDocumentProperties("saveme").Delete
  Else
    Cancel = InputBox("Passwort:") <> "123"
  End If
  
End Sub
In der 2.Mappe:
Sub save1()
  Dim w As Workbook
  Set w = Workbooks("Nummern.xlsx")
  w.CustomDocumentProperties.Add _
    Name:="saveme", _
    LinkToContent:=False, _
    Type:=msoPropertyTypeBoolean, _
    Value:=True
  w.Save
End Sub
Gruß
Rudi

Bild

Betrifft: AW: Eingabe in Inputbox mit VBA
von: S. Marty
Geschrieben am: 03.11.2015 11:23:10
Hi Rudi
Hat perfekt funktioniert! Besten Dank.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Eingabe in Inputbox mit VBA"