Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1312to1316
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
Befehl nur einmalig ausführen
14.05.2013 10:26:45
Stefan
Hallo zusammen,
ich brauche bitte eure Hilfe.
Ich habe eine Vorlage gebastelt in der folgender Code nur in der .xlt Version durchgeführt werden soll.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
pw = InputBox("Bitte geben sie Ihr Passwort ein")
If Not pw = "8228" Then
Cancel = True
MsgBox "Sie haben kein oder ein falsche Passwort eingeben"
Else
Cancel = False
With Sheets("Protokoll")
Dateiname = .[d10] & Format(.[d8], "_DD.MM.YYYY") & ".xls"
End With
Application.EnableEvents = False
Application.Dialogs(xlDialogSaveAs).Show Dateiname
Cancel = True
Application.EnableEvents = True
End If
End Sub

(Den Code habe ich gefunden und etwas angepasst)
Meine VBA Kenntnisse sind leider ehr bescheiden bis gar nicht vorhanden.
Kann mir jemand helfen?
Grüße
Stefan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Befehl nur einmalig ausführen
14.05.2013 10:51:19
EtoPHG
Hallo Stefan,
Ich weiss kenn zwar den Zweck nicht, aber kannst es mal so probieren:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim vTmp
vTmp = Split(ThisWorkbook.Name, ".")
If Left(vTmp(UBound(vTmp)), 3)  "xlt" Then Exit Sub
pw = InputBox("Bitte geben sie Ihr Passwort ein")
If Not pw = "8228" Then
Cancel = True
MsgBox "Sie haben kein oder ein falsche Passwort eingeben"
Else
Cancel = False
With ThisWorkbook.Worksheets("Protokoll")
Dateiname = .Cells(10, 4) & Format(.Cells(8, 4), "_DD.MM.YYYY") & ".xls"
End With
Application.EnableEvents = False
Application.Dialogs(xlDialogSaveAs).Show Dateiname
Cancel = True
Application.EnableEvents = True
End If
End Sub
Gruess Hansueli

Anzeige
XL97 --> kein Split. owT
14.05.2013 13:03:05
Rudi

Split für XL97...
14.05.2013 14:00:00
EtoPHG
Danke Rudi,
Mein Alzheimer-Light kommt zurück ;-)
Alles in Allem:
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim vtmp, pw As String, DateiName As String
vtmp = Split97(ThisWorkbook.Name, ".")
If Left(vtmp(UBound(vtmp)), 3)  "xlt" Then Exit Sub
pw = InputBox("Bitte geben sie Ihr Passwort ein")
If Not pw = "8228" Then
Cancel = True
MsgBox "Sie haben kein oder ein falsche Passwort eingeben"
Else
Cancel = False
With ThisWorkbook.Worksheets("Protokoll")
DateiName = .Cells(10, 4) & Format(.Cells(8, 4), "_DD.MM.YYYY") & ".xls"
End With
Application.EnableEvents = False
Application.Dialogs(xlDialogSaveAs).Show DateiName
Cancel = True
Application.EnableEvents = True
End If
End Sub
Function Split97(ByVal Expression As String, _
Optional ByVal Delimiter As String = " ", _
Optional ByVal Limit As Long = -1)
Const cDSize As Long = 256
Dim sArr() As String
Dim lLim As Long
Dim i As Integer, iLastPos As Integer, iPos As Integer, iOffset As Integer
If (Len(Delimiter) = 0) Then
ReDim sArr(0): sArr(0) = Expression
Else
Select Case Limit
Case -1
lLim = 2 ^ 31 - 1
Case Is  0 And i 
Gruess Hansueli
Anzeige

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige