Tölvur

Excel VBA - leiðarvísir til að búa til innskráningarform

Höfundur: Laura McKinney
Sköpunardag: 9 April. 2021
Uppfærsludagsetning: 14 Maint. 2024
Anonim
Excel VBA - leiðarvísir til að búa til innskráningarform - Tölvur
Excel VBA - leiðarvísir til að búa til innskráningarform - Tölvur

Efni.

Ég nota VBA / VB.Net til að byggja upp betri leiðir til að ná fram daglegum verkefnum

VBA tengingarsvæði útskýrt

Margir nota Excel á hverjum degi og deila vinnubókunum með öðrum notendum. Einn af pirrandi hlutum samnýtingarinnar er að annað fólk getur breytt, breytt eða eytt gögnum þínum. Með því að búa til innskráningarsvæði geturðu stjórnað hvaða blöð eru til sýnis fyrir alla sem eru ekki innskráðir. Þetta kemur sér vel í mörgum forritum, svo sem stjórnunarkerfum, þar sem í stað margra vinnubóka til að halda upplýsingum (svo sem fjárveitingum) frá frá minna háttsettum starfsmönnum læsirðu það einfaldlega á bak við innskráningarvalkost.

Excel hefur sínar takmarkanir og reyndur notandi VBA og Microsoft kerfa gæti hugsanlega farið framhjá þessari innskráningu. Hins vegar, fyrir venjulegan notanda, gerir það meira en nóg.


VBA (Visual Basic for Applications) gerir notendum Microsoft forrita kleift að búa til sérsniðinn kóða og nota hann til að framkvæma aðgerðir sem annars eru ekki innifaldar. Svo skulum við byrja.

Skref 1 - Aðgangur að VBA og búa til eyðublað

Hægt er að nálgast VBA á tvo vegu:

  1. Ýttu einfaldlega á ALT + F11.
  2. Farðu í valkostina og veldu „View Developer Tab“ og smelltu síðan á Visual Basic (2007 og áfram).

Þegar ritstjórinn opnar færðu gráan glugga með verkefnastjóra vinstra megin.

Verkefnastjóri - Þetta er þar sem þú ferð á milli vinnubókarblaðanna, eyðublaða og eininga til að skoða og breyta kóða.

Í bili, hægri smelltu á "VBAProject (bók 1)"(eða hvað sem vinnubókin þín heitir) og veldu"Settu inn" og svo "Notandaform’.

Þér verður afhent autt eyðublað. Ef tækjakassinn opnast ekki sjálfkrafa skaltu smella á táknið á tækjastikunni sem táknar skiptilykil og hamar. Þessi verkfærakassi hefur allt sem þú þarft til að búa til Innskráningarskjáinn.


Skref 2 - Bæti hlutum við eyðublaðið

Nú þegar þú ert með nýstofnaða eyðublaðið þurfum við að setja það upp til að líta út eins og innskráningarform. Fylgdu skrefunum hér að neðan.

  1. Í Fasteignir gluggi (neðst til vinstri) sérðu „Nafn"reit, breyttu þessu í" Innskráning ".
  2. Takið eftir því að UserForm titillinn stendur ennþá „Userform1“? Þú þarft einnig að breyta „Myndatexti„reit að einhverju eins og„ Vinsamlega skráðu þig inn “.
  3. Veldu „A“ hnappinn úr verkfærakassanum og settu merkimiða efst í vinstra horn UserForm. Þú þarft að breyta merkimiðanum til að lesa „Notandanafn“. Þú getur gert þetta með því að ýmist smella einu sinni, bíða í 2 sekúndur og smella svo aftur (tvísmella fer með kóðaskjáinn fyrir þann flokk) eða breyta Myndatexti í Properties glugganum.
  4. Stærðu merkimiðann svo hann passi við textann, annars getur hann skarast við aðra hluti.
  5. Veldu „AB |“ úr verkfærakassanum hnappinn og settu textakassa undir merkið „Notandanafn“.
  6. Með nýja textareitinn valinn, breyttu „Nafn"reitur að" Notandanafn ". Þetta nafn er notað til að vísa í textareitinn í kóðanum sem við munum skrifa síðar.
  7. Endurtaktu skref 2 - 6 fyrir reitinn „Lykilorð“ og merkið til að tryggja að textakassinn fái nafnið „Lykilorð“.
  8. Með „Lykilorð“ textareitinn valinn finndu „LykilorðChar"eign frá Properties glugganum. Settu" * "í þennan reit, þetta þýðir að stafir sem slegnir eru eru faldir, eins og venjulegt lykilorðareitur.
  9. Smelltu á verkfærakassann Stjórnhnappur táknið (lítur út eins og grár ferhyrningur) og teiknið hnapp fyrir neðan lykilorðareitinn. Breyttu nafni skipanahnappsins úr „CommandButton1“ í „LoginButton“ og yfirskriftina í „Login“.
  10. Þú getur nú breytt stærð á öllu notendareyðublaðinu til að passa hlutina sem settir eru á það eins og í dæminu.

Það er það, formið er búið til. Nú þurfum við að bæta kóðanum á bak við það til að segja honum hvað á að gera við upplýsingarnar sem eru settar inn á það.


Skref 3 - Bætir við VBA kóða

Þetta er hluti sem flestir skilja ekki, svo frekar en einfaldlega að segja þér að afrita og líma eitthvað, þá er miklu betra að þú fylgir eftirfarandi skrefum og skilur hvernig kóðaferlið virkar.

Í þessari handbók setjum við upp notendanafnið sem „Admin“ og lykilorðið „1234“.

1. Í ritstjóraglugganum, tvísmelltu á Innskráningarhnappinn sem þú bjóst til áðan. Útsýnið breytist í „Code View“ og birtir:

Private Sub LoginButton_Click () End Sub

Allur kóði þinn fyrir hnappinn verður að vera skrifaður á milli þessara lína.

2. Við þurfum að segja Excel hvernig á að athuga notendanafnið samsvarar „Admin“. Til að gera þetta verðum við að skrifa:

Ef Me.Username.Value = "Admin" Þá

Þessi lína segir Excel að athuga hvort gildi í textareitnum sem kallast „Notandanafn“ sé jafnt og „Stjórnandi“.

Undir skaltu skrifa:

Ef Me.Password.Value = "1234" Þá

Þessi lína segir Excel að athuga hvort gildi í textareitnum sem kallast „Lykilorð“ sé jafnt og „1234“.

Línurnar tvær saman munu athuga hvort allar upplýsingar um innskráningu séu réttar. Nú verðum við að segja VBA hvað við eigum að gera ef það er raunin. Þú ættir að skrifa undir:

LoginFlag = Satt

Þetta mun setja innskráningarfána sem við getum athugað þegar opnað er blöð. Það er þó ekki sett upp ennþá. Við munum fjalla um það á sekúndu. Nú verðum við að segja Excel að hætta að athuga gildin og hvað eigi að gera ef þau eru ekki rétt gildi. Skrifaðu undir LoginFlag línunni:

Losaðu mig Hætta undir lok Ef lok ef MsgBox „Því miður, röng upplýsingar um innskráningu“

Yfirlýsingin „Unload Me“ tryggir að eyðublaðið lokist við innskráningu. Línan „Hætta undir“ mun ljúka afganginum af kóðanum ef LoginFlag er stillt á satt, tvær „End If“ staðhæfingar munu segja Excel að hætta að athuga viðkomandi IF fullyrðingar sem settar voru fyrr. Yfirlýsingin „MsgBox“ mun hlaða sprettikassa ef innskráningin tekst ekki.

Alls ætti kóðinn þinn að líta svona út.

Private Sub LoginButton_Click () If Me.Username.Value = "Admin" Then If Me.Password.Value = "1234" Then LoginFlag = True Unload Me Exit Sub End If End If MsgBox "Því miður, röng upplýsingar um innskráningu"

Hvað með LoginFlagið? Við verðum að setja þetta upp þannig að það muni alltaf síðasta ríkið. VBA endurstillir þegar í stað allar breytur þegar kóðanum er slitið, svo við verðum að segja honum að muna.

Hægri smelltu í verkefnagluggann og veldu „Insert“ og síðan „Module“ (Ekki class module!) Og afritaðu eftirfarandi inn í það.

Global LoginFlag sem Boolean

The "Global" segir Excel að muna breytuna jafnvel eftir að kóðanum lýkur og leyfa öllu forriti að fá aðgang að gildinu sem er geymt, "Boolean" segir einfaldlega Excel að þessi breyta sé annað hvort sönn eða röng.

Nú þarf aðeins að segja blöðunum sem við viljum vernda til að athuga hvort „LoginFlag“ sé satt og að endurstilla fánann þegar vinnubókin er opnuð.

Skref 4 - Vernda lak og endurstilla innskráningu

Fyrst skaltu búa til nýtt blað ef þú ert ekki þegar með fleiri en eitt.

Opnaðu VBA ritstjórann aftur (Ýttu á ALT + F11). Í verkefnaglugganum skaltu opna kóðann fyrir blað 2 og skrifa:

Private Sub Worksheet_Activate () If LoginFlag = False Then Worksheets (1). Virkjaðu innskráningu. Sýndu End ef End Sub

Þessi kóði kannar hvort LoginFlag er rangt. Ef það opnar það fyrsta blaðið í vinnubókinni og opnar innskráningarformið fyrir notandann til að skrá sig inn. Athugaðu að þú getur ekki notað þennan kóða á blaði 1!

Það er það, þú getur afritað þennan kóða á hvaða blað sem þú vilt vernda í VBA ritstjóranum.

Allt sem eftir er er að endurstilla LoginFlag þegar vinnubókin er opnuð (þannig að ef hún er vistuð með LoginFlag stillt á True, þá verður henni skilað aftur til Flase). Í verkefnaglugganum skaltu opna hlutinn sem heitir „ThisWorkbook“ og skrifa:

Private Sub Workbook_Open () LoginFlag = False End Sub

Það er það, þú ert núna með fullkomlega virkt innskráningarkerfi til að vernda blöðin þín frá því að skoða og breyta. Fólk getur þó ennþá eytt, endurnefnt og átt við á annan hátt! Í framtíðinni, leitaðu að leiðsögumönnum til að koma í veg fyrir að þetta gerist líka.

Hvernig fannst þér þetta?

Þessi grein er nákvæm og sönn eftir bestu vitund höfundar. Innihald er eingöngu til upplýsinga eða skemmtunar og kemur ekki í stað persónulegs ráðgjafar eða faglegrar ráðgjafar í viðskipta-, fjárhags-, lögfræðilegum eða tæknilegum málum.

Spurningar og svör

Spurning: Er hægt að breyta Excel-VBA sköpunarferlinu fyrir innskráningu svo að nokkrir notendur hefðu sína eigin innskráningu?

Svar: Já, þú gætir gripið notendanafn Windows notendanafns til dæmis og framkvæmt IF yfirlýsingu til að athuga hvort það sé tiltekinn notandi og búist þá við þessu lykilorði

Spurning: Hvernig myndi ég fara að því að grípa innskráningarnotendur Windows?

Svar: Application.UserName skilar notendanafni núverandi innskráðra aðila.

Dim Var

Var = Application.UserName

Ofangreint myndi leiða til „Var“ sem inniheldur notandanafn núverandi notanda Windows

Vertu Viss Um Að Lesa

Við Mælum Með

Besta lýsing fyrir fjárhagsáætlun fyrir YouTube vídeó (undir $ 50) 2020
Ýmislegt

Besta lýsing fyrir fjárhagsáætlun fyrir YouTube vídeó (undir $ 50) 2020

Að fá rétta lý ingu fyrir mynd keiðin þín er mikilvægt fyrir heildar gæði myndband in . Án þe gætirðu fundið þig þv...
200+ ferðatilboð og myndatexti fyrir Instagram
Internet

200+ ferðatilboð og myndatexti fyrir Instagram

Cheeky Kid er netnet em eyðir miklum tíma í að vafra á netinu, grípa til óendanlegra upplý inga og gleðja t yfir kemmtun og kemmtun....