/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Userform - tidl. indtastning
Fra : matchrace
Vist : 1209 gange
20 point
Dato : 02-04-07 11:06

Kære alle

Jeg har kreeret en userform til brug for en word-template. Den indeholder felter til adresse, afsender, titel, emne, reference m.v. Og den virker egentlig ganske godt. Så langt så godt for den glade amatør.... to ting truer dog med at gøre mig til en mavesur amatør:

1) Jeg vil gerne have den til 'huske' tidligere indtastet info (i dette tilfælde afsender og titel). En form for 'autofill' funktion kan man vel sige. Er der en smart kode for dette? Eller skal jeg hellere vælge en mere rudimentær funktion, hvor userformen som default 'forslår' én standard afsender (dvs. ikke popper op med tomt felt, men med et foreslået udfyldt felt)?
Der er flere brugere (som jævnligt skal skiftes ud) og en fastlåst funktion, hvor x antal standard valgmuligheder præsenteres er ikke god (der skal også være mulighed for alm. indtastning). Ligeledes skal word-templaten lægges på et fælles drev, og en funktion, hvor kun én default forslås, er derfor heller ikke super optimal....

2) er det muligt, i en word userform, at hente modtager-info (navn, adresse m.v.) fra fx. outlook adressekartotek som supplement og alternativ til den alm. slave-indtastning? Det vil være super rart.

Jeg håber, der er nogle, der i deres gavmildhed, vil svare - og undskylder det lave pointantal (jeg har just tilmeldt mig)

Nicolai

 
 
Accepteret svar
Fra : berpox

Modtaget 20 point
Dato : 30-04-07 21:47

Du kan jo skrive til et antal nøgler i registreringsdatabasen i HKCU afsnittet.

Hver gang du åbner formularen, henter den teksten fra registreringsdatabasen til dine felter.

Når du trykker på [OK] knappen, gemmes teksten i registreringsdatabasen, og dit dokument udfyldes.

For at tilgå registreringsdatabasen skal du have tilføjet "Windows Script Host Object Model" til dine referencer.

Her er en eksempelkode du kan arbejde videre med

Kode
Sub WriteRegistry()
Dim fso As IWshRuntimeLibrary.WshShell
Dim source1, source2 As String
Dim target1, target2 As String

Set fso = New IWshRuntimeLibrary.WshShell


source1 = "Tekst 1"
source2 = "Tekst 2"

fso.RegWrite "HKCU\wordtemplate\textbox1", source1, "REG_SZ"
fso.RegWrite "HKCU\wordtemplate\textbox2", source2, "REG_SZ"

target1 = fso.RegRead("HKCU\wordtemplate\textbox1")
target2 = fso.RegRead("HKCU\wordtemplate\textbox2")

fso.Popup target1 & vbNewLine & target2, 0, "Popup title line"

End Sub


Ovenstående lægger teksterne i en folder under HKCU\wordtemplate\ i registreringsdatabasen.

(HKCU = HKEY_CURRENT_USER)

Opslag i Outlook er en mulighed - men er ualmindeligt bøvlet - og kræver certifikater (a.h.t. sikkerheden) og den slags for at få lov til at udføre forespørgsler i Outlook adressekaretoteket.
Hvis dine adresser er gemt på en Exchange server....så glem det som "menigmand" ... been there, tried is hard, died there!


mvh berpox

Kommentar
Fra : berpox


Dato : 14-05-07 18:30

Halloooo "matchrace"...! Er du der?

Godkendelse af svar
Fra : matchrace


Dato : 14-05-07 21:30

Hov - der sov jeg vist i timen. Sorry!

Jeg har benyttet dit glimrende forslag, brygget lidt videre på det, ramt muren et par gange (som en amatør vel skal?!) - men kommet i mål med en ok løsning synes jeg. Egentlig bedre end, hvad jeg havde tænkt!

Så igen - super svar berpox! Tusind tak ( i øvrigt et svar, der generede flere små mulige fremtidige projekter).

de venligste hilsner
nicolai

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste