Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
380to384
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
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

MSGBox, nur 1x für User einblenden

MSGBox, nur 1x für User einblenden
17.02.2004 08:13:08
Holger
Hallo,
ich habe eine Excelvorlage (.xlt) für mehrere User erstellt. Es stellt sich immer wieder das Problem, wie ich den User über Neuerungen informiere. Dabei würde ich erstmals den Weg über ein popup gehen.
Speziell stelle ich mir vor, dass wenn der User die Datei erstmals aufruft, ein Fenster erscheint, in dem ich die Neuerungen beschreibe. Der User sollte danach 2 Möglichkeiten haben:
1. Mit OK die Meldung schließen, und zwar so, dass diese Meldung bei einem neuerlichen Aufrufen der Datei auch nicht mehr erscheint, für immer verschwindet
2. Mit WIEDERHOLEN die Meldung in diesem Fall schließen, jedoch bei einem neuerlichen Aufrufen der Datei die Meldung automatisch wieder anzeigen lassen
Die User speichern überwiegend die Vorlage nach dem erstmaligen Aufrufen als Exceldatei (.xls) ab.
Könnt Ihr mir helfen???
Gruß an alle
Holger

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MSGBox, nur 1x für User einblenden
17.02.2004 09:08:45
Ramses
Hallo
Wenn deine User die Vorlage als XLS abspeichern, vielleicht diese Variante.

Private Sub Workbooks_Open()
If Right(ThisWorkbook.Name,3)= "xlt" Then
MsgBox "Meine Neuerungen"
End If
End Sub

Damit ist ohne grossen Aufwand gewährleistet, dass die MsgBox nur erscheint, solange der Benutzer nur die Vorlage öffnet.
Gruss Rainer
AW: MSGBox, nur 1x für User einblenden
17.02.2004 09:25:15
Alex K.
Hallo Holger,
hier ein Code für deine Aufgabe.
Die Maus über den Excel-Button neben dem Menü "Datei" setzen und mit rechter Maustaste das PopUp-Menü aufrufen. Dort den letzten Punkt "Code anzeigen" anklicken.
Nun im erscheinenden Fenster folgende Code einfügen:

'hier die Änderungen eintragen; mit vbNewline steht jede Änderung in einer
'extra Zeile
Private Const MsgText = "1. Änderungsbeschreibung " & vbNewLine _
& "2. Änderungsbeschreibung" & vbNewLine & "3. Änderungsbeschreibung"
Private Sub Workbook_Open()
Dim showMsg     As Boolean
Dim ret         As Integer
'Die nächsten drei Zeilen löschen, wenn Meldung auch in der abgespeicherten
'Excel-Datei kommen soll. Ansonsten kommt Meldung nur bei Neuanlage einer Excel-
'Datei mit der Vorlage
If Right(ThisWorkbook.FullName, 4) = ".xls" Then
Exit Sub
End If
showMsg = GetSetting("HolgerExcel", "Vorlage", "ZeigeMeldung", True)
If showMsg Then
ret = MsgBox("Die Vorlage wurde in folgenden Punkten geändert: " & vbNewLine & _
MsgText & vbNewLine & vbNewLine & _
"Wollen sie die Änderungen bei nächster Neuanlage wieder anzeigen?", _
vbYesNo + vbInformation, "Änderungen")
If ret = vbNo Then
showMsg = False
Else
showMsg = True
End If
SaveSetting "HolgerExcel", "Vorlage", "ZeigeMeldung", showMsg
End If
End Sub

Nun kannst du deine Vorlage speichern und verteilen. Für jeden User wird die Meldung beim ersten Aufruf angezeigt, und wenn er will, auch bei weiteren Aufrufen der Vorlage. Im eigentlichen Excel-Datei wird die Meldung NIE angezeigt, nur beim Verwenden der Vorlage.
Anzeige
AW: MSGBox, nur 1x für User einblenden
17.02.2004 09:38:05
Ramses
Hallo
Gute Idee, ich denke da müsste aber noch ein Zeitstempel oder Versionsnummer dazu.
Da der Name der Vorlage wahrscheinlich nicht geändert wird, kommt die Anzeige nicht mehr wenn der Benutzer einmal auf "Nein" geklickt hat, auch wenn Änderungen an der Vorlage vorgenommen wurden.
Gruss Rainer
Optimierung
17.02.2004 09:51:09
Alex K.
Hallo Rolf,
hier die optimierte Version mit einer Versionsnummer. Also bitte DIESEN CODE verwenden.
Danke an Ramses bezüglich seinen berechtigten Hinweises.

'hier die Änderungen eintragen; mit vbNewline steht jede Änderung in einer
'extra Zeile
Private Const MsgText = "1. Änderungsbeschreibung " & vbNewLine _
& "2. Änderungsbeschreibung" & vbNewLine & "3. Änderungsbeschreibung"
'Diese Versionsnummer jedesmal um 1 erhöhen, wenn Vorlage an User versendet wird
Private Const XLTVersion = 1
Private Sub Workbook_Open()
Dim showMsg     As Boolean
Dim ret         As Integer
'Die nächsten drei Zeilen löschen, wenn Meldung auch in der abgespeicherten
'Excel-Datei kommen soll. Ansonsten kommt Meldung nur bei Neuanlage einer Excel-
'Datei mit der Vorlage
If Right(ThisWorkbook.FullName, 4) = ".xls" Then
Exit Sub
End If
If GetSetting("HolgerExcel", "Vorlage", "Version", 0) < XLTVersion Then
showMsg = True
Else
showMsg = GetSetting("HolgerExcel", "Vorlage", "ZeigeMeldung", True)
End If
If showMsg Then
ret = MsgBox("Die Vorlage wurde in folgenden Punkten geändert: " & vbNewLine & _
MsgText & vbNewLine & vbNewLine & _
"Wollen sie die Änderungen bei nächster Neuanlage wieder anzeigen?", _
vbYesNo + vbInformation, "Änderungen")
If ret = vbNo Then
showMsg = False
Else
showMsg = True
End If
SaveSetting "HolgerExcel", "Vorlage", "ZeigeMeldung", showMsg
End If
SaveSetting "HolgerExcel", "Vorlage", "Version", XLTVersion
End Sub

Anzeige
Cool,... das ist richtig gut :-)) o.T.
17.02.2004 09:55:58
Ramses
...
AW: Optimierung
17.02.2004 12:19:22
Holger
Hallo Alex,
sorry, melde mich erst jetzt, da ich bis eben eine Besprechung hatte.
Vielen vielen Dank für Deine Hilfe. Ist ja absolut klasse, ist haargenau das, was ich gesucht habe. Genial, viel besser, als ich erhofft hatte. Und Dank, dass Du den Tipp von Ramses aufgenommen und ihn gleich mit eingearbeitet hast.
@Danke, Ramses, für Deinen Tipp.
Gruß, Holger
Danke für die Rückmeldung oT
17.02.2004 12:26:55
Alex K.
AW: Danke für die Rückmeldung oT
17.02.2004 12:29:56
Holger
Hier im Forum wird ja häufig darauf hingewiesen, dass ein Forum auch von positiven wie auch negativen Rückmeldungen lebt.
Aus meiner Sicht gehört es einfach dazu, sollte selbstverständlich sein.
Also, nochmals Danke für Deine Hilfe, die echt klasse ist.
Holger
Anzeige
AW: Danke für die Rückmeldung oT
17.02.2004 12:54:21
Holger
Hi Alex,
noch mal eine kleine Frage, rein optischer Natur:
Kann ich erreichen, dass z. B. die Änderung Nr. 2 in Fettschrift und in Gold (oder Rot) dargestellt wird?
Wie lautet der Befehl, wenn ich etwas kursiv dargestellt haben möchte???
Gruß, Holger
AW: Danke für die Rückmeldung oT
17.02.2004 13:01:50
Alex K.
Hallo Holger,
leider nicht. Da MsgBox nur einen reinen Text zur Angzeige entgegennimmt. Wenn du etwas formatieren willst, so musst du MsgBox durch eine eigens gestalltete UserForm ersetzen.
In dieser kannst du dann frei formatieren.
AW: Danke für die Rückmeldung oT
17.02.2004 13:04:42
Holger
OK, UserForm kann ich nicht, weiß gar nicht, wie ich da etwas machen soll. Ist aber nicht so schlimm, wäre wie gesagt nur rein optischer Natur gewesen.
Danke Alex
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige