Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: bei öffnen einer Datei Speicherabfrage

bei öffnen einer Datei Speicherabfrage
22.03.2015 11:03:36
Holm
Hallo,
und gleich noch ein Problem:
Ich möchte folgendes realisieren:
beim ersten Öffnen einer Datei AM Tag soll eine Dialogbox erscheinen:
z.B.
"Die Datei wurde heute das erste Mail geöffnet. Soll die letzte Version gesichert werden?"
Bei Bestätigung der Abfrage soll die letzte Version mit Dateiname+Datum(der letzten Bearbeitung) gespeichert werden können.
Das Zielverzeichnis soll auswählbar sein, das letzte ausgewählte soll aber immer voreingestellt (aber eben veränderbar) bleiben.
Danke und Grüße
Holm

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bei öffnen einer Datei Speicherabfrage
22.03.2015 12:15:14
Nepumuk
Hallo,
und was wenn der Benutzer nicht bestätigt? Soll dann beim nächsten öffnen am selben Tag die Abfrage wieder kommen?
Gruß
Nepumuk

AW: bei öffnen einer Datei Speicherabfrage
22.03.2015 12:30:45
Holm
Hallo,
sollte die Abfrage nicht bestätigt werden, soll sie beim nächsten Öffnen auf jeden Fall wieder kommen.
Gruß Holm

Anzeige
AW: bei öffnen einer Datei Speicherabfrage
22.03.2015 12:32:38
Nepumuk
Hallo,
dann in das Modul DieseArbeitsmappe:
Option Explicit

Private Sub Workbook_Open()
    
    Const BACKUP_DATE As String = "BackupDate"
    Const BACKUP_PATH As String = "BackupPath"
    
    Dim dprItem As DocumentProperty
    Dim blnFound As Boolean
    
    If Not ReadOnly Then
        
        For Each dprItem In CustomDocumentProperties
            If dprItem.Name = BACKUP_DATE Then
                blnFound = True
                Exit For
            End If
        Next
        
        If Not blnFound Then
            Call CustomDocumentProperties.Add(Name:=BACKUP_DATE, _
                LinkToContent:=False, Value:=Date - 1, Type:=msoPropertyTypeDate)
            Call CustomDocumentProperties.Add(Name:=BACKUP_PATH, _
                LinkToContent:=False, Value:=Path & "\", Type:=msoPropertyTypeString)
        End If
        
        If CustomDocumentProperties.Item(BACKUP_DATE) < Date Then
            
            If MsgBox("Die Datei wurde heute das erste mal geöffnet. Soll die letzte Version " & _
                "gesichert werden?", vbQuestion Or vbYesNo, "Backup anlegen") = vbYes Then
                
                With Application.FileDialog(msoFileDialogSaveAs)
                    
                    .InitialFileName = CustomDocumentProperties.Item(BACKUP_PATH) & _
                        Left$(Name, InStrRev(Name, ".") - 1) & Format(Date, "_yyyy_nn_dd")
                    .FilterIndex = 2
                    
                    If .Show Then
                        
                        CustomDocumentProperties.Item(BACKUP_DATE).Value = Date
                        CustomDocumentProperties.Item(BACKUP_PATH).Value = _
                            Left$(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
                        
                        Save
                        
                        SaveCopyAs (.SelectedItems(1))
                        
                    End If
                End With
            End If
        End If
    End If
End Sub

Gruß
Nepumk

Anzeige
AW: bei öffnen einer Datei Speicherabfrage
22.03.2015 12:41:15
Nepumuk
Hallo,
3 winzige Änderungen eingebaut:
Option Explicit

Private Sub Workbook_Open()
    
    Const BACKUP_DATE As String = "BackupDate"
    Const BACKUP_PATH As String = "BackupPath"
    
    Dim dprItem As DocumentProperty
    Dim blnFound As Boolean
    
    If Not ReadOnly Then
        
        For Each dprItem In CustomDocumentProperties
            If dprItem.Name = BACKUP_DATE Then
                blnFound = True
                Exit For
            End If
        Next
        
        If Not blnFound Then
            Call CustomDocumentProperties.Add(Name:=BACKUP_DATE, _
                LinkToContent:=False, Value:=Date - 1, Type:=msoPropertyTypeDate)
            Call CustomDocumentProperties.Add(Name:=BACKUP_PATH, _
                LinkToContent:=False, Value:=Path & "\", Type:=msoPropertyTypeString)
        End If
        
        If CustomDocumentProperties.Item(BACKUP_DATE) < Date Then
            
            If MsgBox("Die Datei wurde heute das erste mal geöffnet. Soll die letzte Version " & _
                "gesichert werden?", vbQuestion Or vbYesNo, "Backup anlegen") = vbYes Then
                
                With Application.FileDialog(msoFileDialogSaveAs)
                    
                    .InitialFileName = CustomDocumentProperties.Item(BACKUP_PATH) & _
                        Left$(Name, InStrRev(Name, ".") - 1) & Format(Date, "_yyyy_mm_dd")
                    .FilterIndex = 2
                    
                    If .Show Then
                        
                        CustomDocumentProperties.Item(BACKUP_DATE).Value = Date
                        CustomDocumentProperties.Item(BACKUP_PATH).Value = _
                            Left$(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
                        
                        Call Save
                        
                        Call SaveCopyAs(.SelectedItems(1))
                        
                    End If
                End With
            End If
        End If
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: bei öffnen einer Datei Speicherabfrage
22.03.2015 13:07:35
Holm
Hallo und vielen vielen Dank!!!!!
:-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige