Thema Datum  Von Nutzer Rating
Antwort
Rot resume.xlw vermeiden
27.11.2009 09:09:59 Brigitte
NotSolved
30.11.2009 12:56:19 Holger
NotSolved

Ansicht des Beitrags:
Von:
Brigitte
Datum:
27.11.2009 09:09:59
Views:
1627
Rating: Antwort:
  Ja
Thema:
resume.xlw vermeiden
Hallo zusammen,

ich habe ein kleines Problem:
Um ein konsistentes Versions-Management zu gewährleisten, soll das Workbook bei größeren Veränderungen automatisiert (also mit einem vorgegebenen Namen) abgespeichert werden.

Hierzu mein (gesamter) Code:

Option Explicit
Public ExportDate As Date

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
On Error Resume Next
Dim Canc As Boolean
Datenstand = Range("Datum")
Application.DisplayAlerts = False
If Datenstand <> ExportDate Or FileUser <> Application.UserName Then
Canc = Application.Dialogs(xlDialogSaveAs).show(DateiName)
If Canc = False Then End
Else: Application.Save
End If
Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
ExportDate = Range("Datum")
End Sub
____________________________________________________________________________________

Option Explicit
Dim SheetName As String, stateStr As String
Dim ExportDatum As Date, DatenDatum As Date
Dim projekt As String

Public Property Let stateText(str As String)
stateStr = str
End Property
Public Property Get stateText() As String
stateText = stateStr
End Property

Public Property Let Datenstand(i As String)
ExportDatum = i
End Property
Public Property Get Datenstand() As String
Datenstand = ExportDatum
End Property

Public Property Get DNRS() As String
DNRS = Left(ThisWorkbook.name, InStr(ThisWorkbook.name, ".") - 1)
DNRS = Right(DNRS, Len(DNRS) - (InStr(DNRS, "_")))
DNRS = Left(DNRS, InStrRev(DNRS, "_") - 1)
End Property

Public Property Get ExportTag() As String
ExportTag = Left(Datenstand, InStr(Datenstand, ".") - 1)
End Property

Public Property Get ExportMonat() As String
ExportMonat = Left(Right(Datenstand, InStrRev(Datenstand, ".") + 1), InStr(Right(Datenstand, _
_
InStrRev(Datenstand, ".") + 1), ".") - 1)
End Property

Public Property Get ExportJahr() As String
ExportJahr = Right(Datenstand, InStr(Datenstand, ".") + 1)
End Property
Public Property Get ProjektStr() As String
If Worksheets(newSheet).Range("projekt") Like "*AU*" Then
ProjektStr = "Projekt1"
Else: ProjektStr = "Projekt2"
End If
End Property

Public Property Get FileUser() As String
FileUser = Right(Left(ThisWorkbook.name, InStr(ThisWorkbook.name, ".") - 1), Len(Left( _
ThisWorkbook.name, InStr(ThisWorkbook.name, ".") - 1)) - InStrRev(Left(ThisWorkbook.name, InStr( _
_
ThisWorkbook.name, ".") - 1), "_"))
End Property

Public Property Get FileProjektStr() As String
FileProjektStr = Right(Left(DNRS, InStrRev(DNRS, "_") - 1), Len(Left(DNRS, InStrRev(DNRS, "_" _
_
) - 1)) - InStr(DNRS, "_"))
End Property

Public Property Get FileStarter()
FileStarter = Left(DNRS, InStr(DNRS, "_") - 1)
End Property

Public Property Get FileVersion() As String
FileVersion = Right(Right(DNRS, Len(DNRS) - InStr(DNRS, "_")), Len(Right(DNRS, Len(DNRS) - _
_
InStr(DNRS, "_"))) - InStr(Right(DNRS, Len(DNRS) - InStr(DNRS, "_")), "_"))
End Property

Public Property Get DateiName() As String
DateiName = ExportJahr & ExportMonat & ExportTag & "_" & _
FileStarter & "_" & ProjektStr & "_" & FileVersion & "_" & Application.UserName & ".xls"
End Property




Leider erstellt Excel immer wieder eine resume.xlw-Datei (dachte eigentlich, das wäre mit Application.DisplayAlerts=False ausgeschaltet), wäre ja grundsätzlich egal, aber da der Nutzer gefragt wird, ob er die vorhandene ersetzen will, ziemlich lästig...

Kann mir jemand helfen?

Danke schonmal,
Brigitte

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot resume.xlw vermeiden
27.11.2009 09:09:59 Brigitte
NotSolved
30.11.2009 12:56:19 Holger
NotSolved