Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Schreibgeschütze Vorlage in Tabelle laden


Betrifft: Schreibgeschütze Vorlage in Tabelle laden von: Steffen Schunack
Geschrieben am: 13.09.2017 17:58:55

Hallo,

ich habe eine Excel-Tabelle erstellt,
wo ich mithilfe von Userforms verschiedene Protokolle einfach und schnell ausfüllen kann und die werte in einer Art Datenbank speichere.

Eigentlich möchte ich aber die Vorlagen selber mit einem Passwort schützen, damit diese nur durch berechtigte Personen geändert werden können (das ist kein Problem, nutze aktuell nur das Passwort zum Öffnen)
Nun ist aber das Problem das: sobald er die Vorlage in meine Tabelle läd, das Passwort abfragt wird.

kann ich das irgendwie umgehen, das schon im Code das Passwort eingegeben wird?
Anbei noch die aktuelle Funktionsweise der Hauptdatei (Die Passwortabfrage erfolgt bei Schritt 4)

aktuelle Funktionsweise:

1.) Protokoll auswählen
2.) Userform ausfüllen
3.) Werte werden in Datenbank geschrieben
4.) Leerformular wird als neues Tabellenblatt geladen Code:

With ThisWorkbook.Sheets.Add(, ThisWorkbook.Worksheets(Worksheets.Count), , ThisWorkbook.Path _
+ "\Vorlagen\Checkliste_bei_Ereignissen.xltx")
.Name = "Checkliste_b_Ereignissen"
End With

5.) Protokoll wird mit den Werten aus der Datenbank ausgefüllt
6.) es wird als PDF in einer Festen Ordner-Struktur gespeichert und falls gewünscht direkt gedruckt
7.) das Tabellenblatt mit dem Protokoll wird gelöscht.

Mit freundlichen Grüßen
St. Schunack

  

Betrifft: AW: Schreibgeschütze Vorlage in Tabelle laden von: AlterDresdner
Geschrieben am: 13.09.2017 20:28:41

Hallo Steffen,
ohne es in Code umzusetzen:
Statt Sheets.Add...
- Namen der aktiven Datei merken,
- die Vorlage öffnen, dabei kann man das Passwort mitgeben
- als letztes Blatt in gemerkte Datei verschieben,
- Name an dieses Blatt vergeben
Gruß der AlteDresdner


  

Betrifft: AW: Schreibgeschütze Vorlage in Tabelle laden von: Steffen Schunack
Geschrieben am: 13.09.2017 21:10:57

Danke,
kannst du mir vielleicht doch etwas Code schicken?

Leider tu ich mich beim Kopieren etwas schwer (da in der Vorlage nur 1 Tabellenblatt ist bzw. ich Probleme mit dem Namen habe da es eine .xltx ist)

Das mit dem ActiveSheet.Visible = xlVeryHidden
hängt damit zusammen da es eine kleine Datenbank für Dropdownlisten ist
Da die sich für mich am einfachsten testen lässt (und die Datenbank soll ja später keiner sehen).

'- Namen der aktiven Datei merken,
Dateiname = ThisWorkbook.Path + "\" + ThisWorkbook.Name
'- die Vorlage öffnen, dabei kann man das Passwort mitgeben
Workbooks.Open ThisWorkbook.Path + "\Vorlagen\Datenbank.xltx", Password:="Passwort"
' - als letztes Blatt in gemerkte Datei verschieben,

' - Name an dieses Blatt vergeben
ActiveSheet.Name = "Datenbank"
ActiveSheet.Visible = xlVeryHidden
Danke schoneinmal im Vorraus


  

Betrifft: AW: Schreibgeschütze Vorlage in Tabelle laden von: AlterDresdner
Geschrieben am: 17.09.2017 20:35:56

Hallo Steffen,
so müsste es gehen:

'- Namen der aktiven Datei merken,
Dateiname = ThisWorkbook.Name 'Name ohne Pfad
'- die Vorlage öffnen, dabei kann man das Passwort mitgeben
Workbooks.Open ThisWorkbook.Path + "\Vorlagen\Datenbank.xltx", Password:="Passwort"
' - als letztes Blatt in gemerkte Datei verschieben,
ActiveWorkbook.Sheets(1).Move After:=Workbooks(Dateiname)_ 
  .Sheets(Workbooks(Dateiname).Sheets.Count)
'damit verschwindet auch die geöffnete Vorlage und Dateiname wird wieder aktiv
Workbooks(Dateiname).ActiveSheet.Name = "Datenbank"
' - Name an dieses Blatt vergeben
ActiveSheet.Visible = xlVeryHidden

Gruß der AlteDresdner


Beiträge aus den Excel-Beispielen zum Thema "Schreibgeschütze Vorlage in Tabelle laden"