Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1236to1240
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
Kommentar Benutzername "Office"
Markus
Hallo zusammen
Heute konnte ich folgenden Code im Geschäft testen.
Es ist alles i.O., ausser das es den Benutzername der Windows-Anmeldung generiert. Da bei uns im Geschaft die Anmeldung via Kurzzeichen (d346) erfolgt ist es schwierig zu erruieren wer den Kommentar geschrieben hat. In der Office-Oberfläche ist aber jeder mit dem kompletten Namen hinterlegt.
Ist es möglich, diesen Namen in den Code zu integrieren ?
Habe folgenden bereits probiert: "Application.UserName"geht aber leider nicht :-(
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Sh.Cells(3, 5).Resize(Sh.Rows.Count - 2)) Is Nothing Then Exit Sub
Dim cmt As Comment
Dim strCmt As String
Dim lngTxt As Long
With Target
If .Value = "O" Then
strCmt = Environ("Username") & Chr(10) & Format(Date, "DD.MM.YYYY") & " " & Format( _
_
Time, "hh:mm") & ":" & Chr(10)
lngTxt = Len(Environ("Username"))
If Not .Comment Is Nothing Then .Comment.Delete     'alten Kommentar löschen
Set cmt = .AddComment(strCmt)
cmt.Visible = True  ' Kommentar einblenden
cmt.Shape.Width = 150
cmt.Shape.Height = 300
cmt.Shape.Select   ' Kommentarfeld aktivieren
With cmt.Shape.Fill
.Solid
'                 .ForeColor.RGB = RGB(191, 191, 191)
.Transparency = 0#
End With
With cmt.Shape.TextFrame.Characters.Font
.Name = "Tahoma"
.FontStyle = "Standard"
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = True
.Underline = xlUnderlineStyleNone
End With
With cmt.Shape.TextFrame
.Characters(Start:=1, Length:=lngTxt).Font.FontStyle = "Fett"
.Characters(Start:=lngTxt + 2, Length:=16).Font.FontStyle = "Kursiv"
End With
End If
End With
Set cmt = Nothing
End Sub

Hoffentlich kann mir jemand helfen.
Gruss Markus

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

Betreff
Benutzer
Anzeige
AW: Kommentar Benutzername "Office"
21.11.2011 19:56:25
Hajo_Zi
Hallo Markus,
Application.UserName ist korrekt. Das ist der in Excel eingetragene Nutzer.
Gruß Hajo
AW: Kommentar Benutzername "Office"
21.11.2011 21:18:24
Markus
Hallo Hajo
Danke für den Tip.
Folgender Code funktioniert aber nicht:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Sh.Cells(3, 5).Resize(Sh.Rows.Count - 2)) Is Nothing Then Exit Sub
Dim cmt As Comment
Dim strCmt As String
Dim lngTxt As Long
With Target
If .Value = "O" Then
strCmt = Environ("Application.UserName") & Chr(10) & Format(Date, "DD.MM.YYYY") & " _
" & Format(Time, "hh:mm") & ":" & Chr(10)
lngTxt = Len(Environ("Application.UserName"))
If Not .Comment Is Nothing Then .Comment.Delete     'alten Kommentar löschen
Set cmt = .AddComment(strCmt)
cmt.Visible = True  ' Kommentar einblenden
cmt.Shape.Width = 150
cmt.Shape.Height = 300
cmt.Shape.Select   ' Kommentarfeld aktivieren
With cmt.Shape.Fill
.Solid
'                 .ForeColor.RGB = RGB(191, 191, 191)
.Transparency = 0#
End With
With cmt.Shape.TextFrame.Characters.Font
.Name = "Tahoma"
.FontStyle = "Standard"
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = True
.Underline = xlUnderlineStyleNone
End With
With cmt.Shape.TextFrame
.Characters(Start:=1, Length:=lngTxt).Font.FontStyle = "Fett"
.Characters(Start:=lngTxt + 2, Length:=16).Font.FontStyle = "Kursiv"
End With
End If
End With
Set cmt = Nothing
End Sub
Was mache ich falsch ?
Liegt es am "Environ" ?
Gruss Markus
Anzeige
AW: Kommentar Benutzername "Office"
21.11.2011 21:44:02
Hajo_Zi
Hallo Markus,
du solltest auch das schreiben was Du vorgeschlagen hast und nicht Environ("Application.UserName")
Gruß Hajo
AW: Kommentar Benutzername "Office"
21.11.2011 22:15:55
Markus
Hallo Hajo
Sorry, ich verstehe es nicht ...
Ich kann "Application.UserName"schreiben wie ich will. Mit oder ohne "Environ, () und """, klappt einfach nicht.
Gruss Markus
AW: Kommentar Benutzername "Office"
21.11.2011 22:33:15
Markus
Hallo Hajo
O.K. , jetzt hab ich es verstanden. Sorry, bin halt wirklich ein "grünschnabel" was VBA betrifft ;-)
strCmt = Application.UserName & Chr(10) & Format(Date, "DD.MM.YYYY") & " " & Format(Time, "hh:mm") & ":" & Chr(10)
lngTxt = Len(Application.UserName)
Jetzt klappt es :-)
Dankeschön
Gruss Markus
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige