• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bij inloggen werkblad een gesproken tekst.

Status
Niet open voor verdere reacties.

samabert

Gebruiker
Lid geworden
27 mrt 2010
Berichten
308
Hallo forumleden,

Volgend werkblad is een uitgeklede versie van een werkblad waar een 14 tal personen verlof en andere dagen in plannen.
Men dient via een paswoord in te loggen om de gewenste dagen te kunnen invullen, dit werkt volledig.

Nu voor het werkblad van 2019 zou ik graag, puur voor het een beetje plezierig te maken, dat wanneer persoon X inlogt specifiek zijn naam wordt uitgesproken.

Onder Sub validatePW, krijg ik het klaar dat een gesproken tekst voor iedereen dezelfde is.


Mijn vraag: Controleren wie inlogt en daaraan een specifieke tekst laten uitspreken.


Alvast bedankt.
Marc
 

Bijlagen

Zoiets:
Code:
Application.Speech.Speak "Hello, " & Environ("UserName")

Of:
Code:
Select Case Environ("username")
    Case "Naam1": Application.Speech.Speak "Hello, Naam1"
    Case "Naam2": Application.Speech.Speak "Hey baldy! How are you today!"
End Select
 
Laatst bewerkt:
Iedere gebruiker is toch al bij windows ingelogd ?
Gebruik die inloggegevens.
 
@ edmoor,

Bedankt om te reageren.
Spijtig, maar ik krijg het niet voor elkaar met jouw voorbeelden.

De eerste oplossing krijg ik bij iedereen de Pc login naam te horen. Als ik dit wijzig naar sUser, werkt het ook niet.
Uw oplossing met Naam 1 & 2 begrijp ik niet, waar zou je dit moeten tussen plaatsen?

Het probleem ook met de namen die moeten uitgesproken worden, deze heb ik lichtjes gewijzigd om de juiste klanken te krijgen.
Voorbeeld om Etienne uit te laten spreken heb ik er “ eight jann “ van gemaakt en dat klinkt vrij goed.

Ik dacht eerder aan een oplossing die de volledige tekst v.b. in cel D6 staat gebruikt. Dan kan ik de aangepaste namen direct in de tekst plaatsen.

Zou iets als volgende kunnen?

Als KVD inlogt dan: Application.Speech.Speak Sheet1.Range("D6").Value
Als MBE inlogt dan: Application.Speech.Speak Sheet1. Range("D7").Value

Alvast bedankt.
 
@snb,

Dit is een desktop pc (op een netwerk)die voor alle werknemers ter beschikking staat en 1 login heeft. De personen die wensen iets van verlof in het Excel werkblad in te voegen dienen persoonlijk via een Userform naam en paswoord in te geven om te kunnen nagaan wanneer iemand wat heeft ingevuld en of heeft gewijzigd. Dit werkt voor ons zonder problemen.

Daarom een controle wie er op dat moment inlogt en dan die persoonlijke tekst uitspreken.

Voorbeeld: Als MBE inlogt dan: Application.Speech.Speak Sheet1. Range("D7").Value

Bedankt voor je reactie.
 
De 2e code in mijn voorbeeld doet precies wat je wilt.
Uiteraard vervang je daar Environ("username") door het gegeven waar je de naam vandaan haalt en Naam1 en Naam2 door de namen waarop je wilt controleren.
Uiteraard weet niemand hier wat sUser is.
Als je de voorbeelden niet begrijpt kan je beter een voorbeeld document plaatsen.
 
Laatst bewerkt:
Lange verhalen en geen concreet voorbeeld.

Code:
Application.Speech.Speak "Welkom  " & cboUser
 
edmoor,

Uiteraard weet niemand hier wat sUser is

Dat is juist, hier heb ik iets verkeerd opgegeven. Het moet cboUser zijn. Dit zijn de login namen zoals voorbeeld KVD, MBE enz.

Ik ben nu mee met jouw uitleg en het tweede voorbeeld, maar ik krijg het spijtig genoeg toch niet werkende.

In het nieuwe voorbeeld heb ik geprobeerd het beter uit te leggen. Op blad Hide this sheet staat beschreven wat ik graag zou willen.

De oplossing van venA werkt, alleen wordt hier de login naam uitgesproken (voorbeeld: Welkom KVD) en ik graag de tekst uit blad "Hide this sheet" cel D6
M.a.w. KVD logt in en hoort niet KVD maar "Welkom Koen vandaag"
En dan verder voor login MBE de tekst uit cel D7 enz.

Alvast bedankt
 

Bijlagen

VenA,

Jouw code geeft al de login naam zoals deze op blad hide this sheet staat. Voorbeeld KVD, geeft "Welkom KVD".
Dat is al tof.
Ik heb in vorige post een nieuw voorbeeld (FD_test2) met meer uitleg wat ik graag gehad, als het tenminste kan.

Bedankt.
 
Vervang de regel van VenA door dit:
Code:
With Sheets("Hide this sheet")
    Set c = .Range("A6:A20").Find(cboUser, , , xlWhole, xlByRows)
    If Not c Is Nothing Then
        Application.Speech.Speak .Cells(c.Row, 4)
    End If
End With
 
Laatst bewerkt:
edmoor,

Ik ga het morgen proberen en hou je op de hoogte.

Bedankt.
 
edmoor,

Fantastisch, dat is het :thumb:
Heel erg bedankt, we gaan ons hier mee amuseren :D

Mvg.
Marc
 
Ok dan :)
Zo zie je maar dat er altijd meer mogelijkheden zijn dan je wellicht denkt en dat een goed voorbeelddocument altijd gewenst is.
 
Waarom ga je zoeken als je alle gegevens kan laden in de combobox.

In de Initialize().
Code:
cboUser.List = Range(Cells(6, 1), Cells(Rows.Count, 1).End(xlUp)).Resize(, 4).Value
Of:
Code:
 cells(4,1).currentregion.offset(2).specialcells(2).value

Voor de validate button.
Code:
Application.Speech.Speak cboUser.Column(3)
 
Harry,

Ook nog bedankt voor je input, uit interesse heb ik jouw oplossing ook getest.
Deze doet ook helemaal wat ik wou, maar wanneer een fout paswoord wordt ingegeven, krijg ik volgende fout.

PHP:
Run time error 381
Could not get the Column property. Invalid property array index.

Onder de validate button krijg ik op volgende lijn een fout aanduiding:
Code:
Application.Speech.Speak cboUser.Column(3)
Het laden van de gegevens in de combobox, heeft dit voordelen t.o.z. van de andere oplossing?

Mvg.
Marc
 
Zoeken met 'find' kost tijd en is daarom niet nodig.
De combobox heeft die gegevens al geladen.

De foutmelding heeft niets met het password te maken.
Zet de code onder de knop waar die van @edmoor ook staat/stond.

Anders zet je een controle of cboUser.column(0) bij cboUser.column(1) hoort.

Ik heb er verder niet naar gekeken daar ik mij ergerde dat ik het Userform niet kon sluiten.
Steeds maar msgboxen, en na tig keer geeft die een msg dat ik het drie keer had geprobeerd.
 
Na deze aanpassing werkt het volledig en merkbaar iets sneller.
Weer iets bijgeleerd dat het ook zo kan.

Sorry, dat je problemen had met de login Userform, ik weet niet hoe dit komt, als ik in de lijst een naam kies en paswoord 1234 uit kolom B werkt dit. Alleen bij foutieve invoer, na 3 keer sluit het bestand.

Bedankt voor de uitleg.

Mvg.
Marc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan