Username

Status
Niet open voor verdere reacties.

Jeffie85

Gebruiker
Lid geworden
12 jun 2012
Berichten
106
In outlook heb ik een userform gemaakt

in 1 van de velden heb ik al voorbeeld tekst gezet, d.m.v. bij eigenschappen ( in visual basic scherm ) bij het veld 'Text' iets in te vullen.
Dit werkt heel goed.
( vb. tekst die hierin staat; 'is afwezig'

Nu wil ik in dit veld, standaard de gebruikersnaam in dat vakje hebben, zodat er bijv. komt te staan; 'Klaas is afwezig'.
dus dat die kijkt welke gebruiker er is ingelogd en dat die dit automatisch invult.

Hoe kan ik dit ondervangen?
 
In Excel gebruik ik Application.UserName.

Ik denk dat het voor Outlook hetzelfde zal zijn.
 
Dit is de code achter het userform;

Code:
Private Sub btnSave_Click()

    With CreateObject("Outlook.Application").GetNamespace("MAPI").Folders("Openbare mappen").Folders("Alle openbare mappen").Folders("Afwezigheid medewerkers").Items.Add
        .Subject = txtSubject
        .Start = DateValue(txtStartDate) + TimeValue(txtStartTime)
        .Duration = txtDuration
        .Location = txtLocation
        .Save
        MsgBox "Je afwezigheid is in de agenda gezet!", vbInformation, "Afwezigheid"
    End With



Unload Me
End Sub

Hoe moet jou code hier in gezet worden?
 
naam van dit veld: (Nu wil ik in dit veld).value = Application.UserName
 
Het werkt, of het werkt niet. 'niet optimaal' is in de ict een omschrijving waar we niet zoveel mee kunnen :). Wat is er dan volgens jou niet optimaal?
 
Ja daar heb je een puntje :)
Als ik in de code zet, zoals eerder verstuurd, dan zie je ook gewoon application.Username staan, dus niet alleen de naam van de gebruiker
 
En hoe ziet de gebruikte code er nu uit?
 
Code:
Private Sub btnSave_Click()

    With CreateObject("Outlook.Application").GetNamespace("MAPI").Folders("Openbare mappen").Folders("Alle openbare mappen").Folders("Afwezigheid medewerkers").Items.Add
        .Subject = Application.UserName "txtSubject"
        .Start = DateValue(txtStartDate) + TimeValue(txtStartTime)
        .Duration = txtDuration
        .Location = txtLocation
        .Save
        MsgBox "Je afwezigheid is in de agenda gezet!", vbInformation, "Afwezigheid"
    End With



Unload Me
End Sub
 
probeer dit eens:

Code:
.Subject = Environ ("username") & "txtSubject"
 
Die laatste toevoeging zet de tekst txtSubject letterlijk in het onderwerp. Lijkt mij niet geweldig...
Als dit
Code:
    .Subject = Environ("username")
niet werkt, kun je hem nog zo proberen:
Code:
    .Subject = VBA.Environ("username")
 
Probeer dit eens:
Code:
Sub Test()

    MsgBox Environ("username")
End Sub
en anders met:
Code:
MsgBox VBA.Environ("username")

Als het goed is krijg je nu een melding / bericht met je Username.

- Lukt dit niet, dan moeten we opzoek naar een ander functie om de username op te halen
- Lukt dit wel, dan zit het hem in de manier waar / hoe deze username weergegeven moet worden
 
Het eerste script werkt inderdaad netjes.
komt gewoon een pop-up met de ingelogde naam naar voren
 
Dan moet je hem ook in je Subject krijgen, want er wordt dan een waarde gemaakt. Dus dat kun je dan controleren door de code in de Stapmodus (zet bijvoorbeeld de regel With CreateObject in de stapmodus door de cursor er in te zetten en op <F9> te klikken) te zetten en met <F8> door de verschillende regels te lopen. Als je de .Subject regel hebt gehad, kun je met je muis controleren (hoover over de opbjecten) of er wat instaat of niet. Zo nee, dan gaat er toch wat mis bij het toewijzen.
 
Ja dat tekstveld gebeurt niks mee,

Heb het formulier nu wel een standaard tekst meegegeven, dan vullen ze zelf maar de gebruikersnaam in. Kost nu een beetje teveel tijd.

Bedankt ieder geval voor jullie hulp !!
thnx !!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan