ID.nl logo
Maak een berichtenvenster in VBA
© CIDimport
Huis

Maak een berichtenvenster in VBA

Op uw computer duikt regelmatig een venster op. Als u daarin klikt op Ja of Nee, gebeurt er iets. Zo'n berichtvenster programmeert u zelf door een macro te schrijven in de taal VBA (Visual Basic for Applications).

Op uw computer duikt regelmatig een venster op. Als u daarin klikt op Ja of Nee, gebeurt er iets. Zo'n berichtvenster programmeert u zelf door een macro te schrijven in de taal VBA (Visual Basic for Applications).

Stap 1

©CIDimport

Als voorbeeld nemen we een scorelijst in Excel. Als u de scores wilt wissen, verschijnt er eerst een venster met de vraag of u het zeker weet en pas na uw toestemming worden de scores gewist. We laten zien hoe u zo'n venster tevoorschijn tovert.

Als u een macro maakt door deze op te nemen, krijgt u vanzelf de VBAcode. Maar een macro voor een berichtvenster valt niet op te nemen, de code daarvoor moet u zelf schrijven. U maakt er ruimte voor in de vorm van een nieuwe module.

Start Excel met een blanco werkmap. Klik op Extra, Macro, Visual Basic Editor (of druk op Alt + F11). Klik in deze Editor op Beeld, Projectverkenner (Ctrl + R). Links verschijnt een mappenlijst. Kies de werkmap waarin u de procedure wilt bewaren. Deze code hoeft alleen in deze werkmap te werken, klik dus op VBA Project(Map1). Klik op Invoegen en kies Module. Rechts is een blanco codeblad verschenen en in de map Modules is Module1 erbij gekomen.

Stap 2

©CIDimport

Typ in het codeblad Sub MijnVenster (met alleen een spatie na Sub) en druk op Enter. VBA plaatst er automatisch twee haakjes achter en voegt de regel End Sub toe. Dit is het raamwerk voor uw procedure. Er staat nu:

Sub MijnVenster()

End Sub

Tussen deze beide regels typt u de instructies. Druk op de toets Tab, typ msgbox , typ een spatie en "Hallo allemaal!" of een andere boodschap (die moet tussen dubbele aanhalingstekens staan). Druk op de toets Pijl-omlaag en u ziet dat msgbox verandert in MsgBox, de officiële schrijfwijze. VBA heeft deze code herkend als een ingebouwde functie. Deze code staat voor Message Box en betekent Berichtvenster. Uw zelfgemaakte procedure ziet er nu uit als de afbeelding hiernaast.

U kunt deze procedure uitvoeren vanuit het codevenster. Plaats hiervoor de muisaanwijzer ergens binnen de code en klik op de knop met het driehoekje: Sub/UserForm uitvoeren; of druk op de toets F5. Het berichtvenster springt in beeld, met uw eigen tekst en in de stijl van Windows: een blauwe titelbalk met rechts een kruisje Sluiten en een knop OK (dit scherm ziet u in het bovenste gedeelte van de afbeelding hiernaast). En dat allemaal met één simpele regel code. Klik in dit venster op OK om het te sluiten.

Stap 3

©CIDimport

Als de code werkt, kunt u deze verder aanvullen. Voor een simpele mededeling is de knop OK voldoende. Maar moet de gebruiker op een vraag antwoorden, dan hebt u de knoppen Ja en Nee nodig. Typ daarom aan het eind van de regel met MsgBox een komma en vbYesNo. De gebruiker moet antwoord geven op een vraag, dus past u de tekst van het venster ook aan. Wijzig de zin in "Programmeren in VBA: is het moeilijk?" zodat het geheel er uitziet als de afbeelding hiernaast. Voer de procedure uit door weer op F5 te drukken.

Stap 4

©CIDimport

Afhankelijk van het antwoord moet er iets gebeuren. Stel, u houdt in Excel de scores van een spel bij in de cellen B2 tot en met D15. Met SOMformules worden de punten automatisch opgeteld zodat u de totalen ziet. Voor de volgende wedstrijd moeten de punten worden gewist, maar u wilt niet per ongeluk ook de formules wissen. Daarom bouwt u een veiligheid in: u laat een venster verschijnen met de vraag of u het zeker weet. Open de betreffende werkmap. Start de Visual Basic Editor, kies het VBA-Project met de naam van deze werkmap, voeg een nieuwe module in en typ de code uit afbeelding hiernaast over. (U vergroot die afbeelding tot leesproporties door erop te klikken).

Hier wordt het berichtvenster anders samengesteld, namelijk door eerst de kenmerken van de tekst en de knoppen vast te leggen in zogeheten variabelen, die wij voor de hand liggende namen gaven. In de variabele Tekst staat de vraag die in beeld komt, in de variabele Knoppen ziet u weer de code voor de knoppen Ja en Nee. Nu wordt het berichtvenster samengesteld door bij MgsBox deze kenmerken tussen haakjes op te geven.

Als dit venster verschijnt, kiest de gebruiker Ja of Nee en deze keuze wordt opgeslagen in de variabele Antwoord. Daarmee gaat vervolgens de regel met If aan de slag. If Antwoord = vbYes betekent: als de gebruiker op Ja heeft geklikt. Is dat het geval, dan wordt met Range("B2:D15").ClearContents het gebied B2 tot en met D15 gewist. Bij Nee gebeurt er niets. Hierna gaat de code naar de volgende regel, die in cel B2 parkeert, waar u weer begint met de nieuwe score.

Stap 5

©CIDimport

Standaard heeft de knop Ja het accent, de focus, zoals dat heet. De muisaanwijzer springt daar automatisch naartoe en de gebruiker hoeft alleen maar te klikken (of op Enter te drukken). Omdat het klikken op Ja riskant is (er worden gegevens gewist!), geeft u de knop Nee de focus, zodat de gebruiker bewust Ja moet kiezen. Hiervoor typt u na vbYesNo een plusteken en dan vbDefaultButton2.

Voer de procedure weer uit. U zult zien dat de knop Nee nu de focus heeft. Wie Ja kiest, moet bewust op de andere knop klikken (zie ook de afbeelding).

Om te laten zien dat het om een waarschuwing gaat, tuigt u het venster op met een gevarendriehoek. Typ hiervoor aan het eind van de regel Knoppen een plus-teken gevolgd door vbExclamation (typt u in plaats hier van vbCritical, dan verschijnt het stopteken). Al met al ziet uw zelfgeschreven macro eruit als de afbeelding hiernaast.

Tip: Knop in het werkblad plaatsen

©CIDimport

Om de macro in het werkblad uit te voeren, plaats u er als volgt een knop in: klik op de knop Tekenen, AutoVormen, Basisvormen en kies de rechthoek met schuine rand. Klik in het werkblad en sleep diagonaal, waarna de knop verschijnt. Klik erop met de rechtermuisknop, Tekst toevoegen en typ Scores wissen. Dubbelklik op de rand en maak de knop naar smaak op.

Om uw zelfgeschreven macro aan deze knop te koppelen, klikt u erop met de rechtermuisknop, kies Macro toewijzen, De macro ScoresWissen en klik op OK. U roept uw eigen venster voortaan op met een klik op uw eigen knop.

Gratis download

Het werkblad met de scores en de macro staat al voor u klaar. Klik hier om gratis het bestand CID ScoresWissen VBA.xls op te halen. U kunt er meteen mee aan de slag.

▼ Volgende artikel
Luxaflex vies? Zo krijg je ze moeiteloos schoon
© eliosdnepr
Huis

Luxaflex vies? Zo krijg je ze moeiteloos schoon

Als er één plek in huis is waar stof zich graag verzamelt, dan is het wel op de luxaflex. En hangen ze in de keuken, dan worden ze niet alleen stoffig, maar ook nog eens vettig. Gelukkig hoef je niet uren te schrobben om ze weer schoon te krijgen: met de tips uit dit artikel zijn ze zo weer blinkend schoon.

Dit artikel in het kort: • Regelmatig doen: even afstoffen • Grondig schoonmaken: aluminium en kunststof • Grondig schoonmaken: houten luxaflex • Bedieningskoorden schoonmaken • Nicotine-aanslag verwijderen • Luxaflex langer mooi houden

Luxaflex schoon? Lees dan: De 5 beste tips om snel en simpel je ramen te lappen

Regelmatig doen: even afstoffen

Regelmatig afstoffen voorkomt dat vuil zich ophoopt. Een plumeau of microvezeldoek werkt prima. Draai de lamellen open zodat je overal bij kunt en werk van boven naar beneden. Een oude sok over je hand schuiven is een handige manier om elke lamel afzonderlijk schoon te vegen.

Wil je tijd besparen?* Gebruik dan een speciale lamellenborstel. Hiermee kun je in één beweging meerdere lamellen tegelijk afnemen. Druk niet te hard, om beschadigingen te voorkomen. Stofzuigen kan ook, maar gebruik dan een meubelmondstuk op de laagste stand en ondersteun de luxaflex met je andere hand.

* Wie niet eigenlijk...?

©africaimages.com (Olga Yastremsk

Als stoffen alleen niet meer genoeg is, moet je een stapje verder gaan. Hoe je dat doet, hangt af van het materiaal waarvan de luxaflex gemaakt zijn.

Grondig schoonmaken: aluminium en kunststof

Gebruik het bad…

Haal de luxaflex voorzichtig uit het kozijn en leg in een bad met lauwwarm water en een scheutje allesreiniger. Laat kort weken en veeg de lamellen schoon met een zachte spons. Spoel goed af en laat de luxaflex hangend drogen. Zorg ervoor dat metalen onderdelen niet te lang nat blijven om roestvorming te voorkomen en droog aluminium luxaflex direct af om oxidatie te vermijden.

…of de douche

Als de luxaflex te groot is voor een bad, kan afspoelen in de douche een alternatief zijn. Gebruik een plantenspuit met een sopje voor hardnekkige vlekken en spoel daarna grondig af. Let op dat kunststof koorden niet te nat worden (want dan kunnen ze hun stevigheid verliezen of verkleuren). Laat goed drogen en ventileer de ruimte goed om schimmelvorming te voorkomen.

Met stoom

Soms is weken in bad of afspoelen in de douche geen optie. Een stoomreiniger kan dan uitkomst bieden, vooral bij aluminium en kunststof luxaflex. Gebruik de stoom op lage stand en houd voldoende afstand om schade te voorkomen. Een andere methode is een sopje met een plantenspuit op de luxaflex vernevelen en daarna droogwrijven met een microvezeldoek.

Grondig schoonmaken: houten luxaflex

Hout is gevoelig voor vocht, dus in bad leggen of onder de douche afspoelen is geen goed idee. Gebruik een licht vochtige doek met een mild schoonmaakmiddel en test nieuwe middelen altijd eerst op een onopvallende plek. Je kunt ook speciale houtzeep gebruiken. Doe dat wel met mate en kies bij voorkeur een variant die geen vettig laagje achterlaat, omdat sommige houtzepen een dun laagje vormen dat stof kan aantrekken.

Je kunt ook een doek met een klein beetje afwasmiddel gebruiken, maar zorg dat deze nauwelijks vochtig is. Droog de lamellen direct na met een schone doek om watervlekken te voorkomen. Behandel ze eventueel met een verzorgende houtolie of was, maar alleen als het materiaal daar geschikt voor is. Laat ze na behandeling open drogen en voorkom direct zonlicht om kromtrekken en verkleuring te vermijden.

Nicotine-aanslag verwijderen In ruimtes waar wordt gerookt, kan een gelige laag op de luxaflex ontstaan. Dit is lastig te verwijderen met alleen water en zeep. Meng gelijke delen water en azijn en gebruik een zachte doek om de lamellen af te nemen. Spoel daarna na met een schone, licht vochtige doek en droog direct af.

©Rafael Ben-Ari

Bedieningskoorden schoonmaken

De koorden van luxaflex worden vaak vergeten bij het schoonmaken, maar kunnen door stof en vet behoorlijk groezelig worden. Wikkel een vochtige doek met mild schoonmaakmiddel om het koord en trek het koord er voorzichtig doorheen. Herhaal indien nodig en laat goed drogen.

Luxaflex langer mooi houden

Regelmatig afstoffen voorkomt dat vuil zich ophoopt. Maak ze in keukens vaker schoon. Vermijd overmatig watergebruik, vooral bij houten luxaflex. Laat ze open drogen na een schoonmaakbeurt en houd ze, als je ze niet gebruikt, opgetrokken om stofophoping te verminderen. Zo blijven je luxaflex langer mooi en schoon.

🪶 Op zoek naar een plumeau?

(ook handig voor spinrag in hoekjes en aan het plafond)

▼ Volgende artikel
Vermijd pottenkijkers: zo beveilig je je camera of deurbel optimaal
Huis

Vermijd pottenkijkers: zo beveilig je je camera of deurbel optimaal

Misschien heb je er wel een: een beveiligingscamera of videodeurbel waarmee je je woning via een online-verbinding in de gaten kunt houden. Dat kan handig zijn, maar er zijn ook privacyrisico's. Als je niet voorzichtig bent, kunnen onbevoegden namelijk toegang krijgen tot jouw camerabeelden. In dit artikel geven we wat tips om dat te voorkomen.

In dit artikel bespreken we manieren waarop je kunt voorkomen dat mensen je zomaar in je tuin of huiskamer kunnen begluren via je videodeurbel of IP-camera. We gaan daarbij in op de volgende aspecten:

  • De keuze van de camera 
  • Het instellen van een (uniek) wachtwoord
  • Het (zo veel mogelijk) voorkomen van hacks

Ook lezen: 5 fouten met je beveiligingscamera die je hierna nooit meer maakt

Kies een betrouwbaar merk

Er zijn natuurlijk heel veel soorten beveiligingscamera's voor consumenten, maar de privacyrisico's die wij bespreken spelen zich vooral af bij videodeurbellen en zogenoemde IP-camera's. Deze hebben als overeenkomst dat ze de opgenomen beelden online opslaan, zodat je via een website of app altijd toegang hebt tot de camerafeeds.

Mocht je op zoek zijn naar zo'n apparaat, zorg er dan voor dat het merk betrouwbaar en privacyvriendelijk is. Zo adviseren experts om op te passen met Chinese merken als Dahua en Hikvision, en Chinese smarthomeplatformen als Tuya (waar onder meer de camera's van Action, Woox en Marmitex gebruik van maken). Hoewel het niet is bewezen, is het goed mogelijk dat de software een achterdeurtje bevat waardoor de fabrikant met de beelden kan meekijken. De lokale wetgeving dwingt fabrikanten namelijk om data te verzamelen en af te staan aan de overheid.

Ook andere bekende merken hebben in het verleden te maken gehad met beveiligingsproblemen. Zo belandden in 2019 duizenden inloggegevens van Ring-klanten op het darkweb en hadden Amazon-medewerkers jarenlang toegang tot de camerafeeds. Verder kwam Wyze vorig jaar in opspraak doordat sommige klanten ineens de camerabeelden van anderen in hun app te zien kregen.

De LSC Smart Connect-beveiligingscamera van de Action maakt gebruik van Chinese software.

Stel een eigen wachtwoord in

Het klinkt misschien als een open deur, maar het niet instellen van een eigen wachtwoord is de meest voorkomende oorzaak waardoor onbevoegden kunnen meekijken met camerabeelden. Veel fabrikanten leveren hun camera’s met een standaardgebruikersnaam en -wachtwoord, zoals 'admin' of '1234'. Er bestaan zelfs complete websites waarop lijsten circuleren met de standaardinloggegevens van tientallen cameramerken.

Hoewel het niet legaal is, kunnen pottenkijkers zo met wat trial-and-error relatief makkelijk toegang krijgen tot camerabeelden. Er zijn zelfs websites die deze onbeveiligde feeds verzamelen en openbaar op hun website plaatsen. Een bekend voorbeeld hiervan is Insecam, die hier in 2014 wereldwijd het nieuws mee haalde.

Na alle ophef heeft die website alle privacy-schendende streams van bijvoorbeeld deurbelcamera's of webcams in woningen verwijderd, maar er zijn nog andere plekken online waarop zulke beelden wél te zien zijn. Toegegeven, deze websites zijn niet makkelijk te vinden (het delen van deze beelden is immers illegaal), maar als je een beetje weet waar je moet zoeken, kom je ze zeker tegen.

Er zijn gelukkig steeds meer camerafabrikanten die klanten verplichten een uniek wachtwoord te gebruiken, waaronder Panasonic, maar als dat niet het geval is, is het dus ten zeerste aan te raden om meteen een nieuw wachtwoord te verzinnen en (mits die mogelijkheid er is) tweestapsverificatie te activeren.

Insecam stond tien jaar geleden vol met links naar onbeveiligde webcams.

Voorkom hacks

Hoewel het veel minder vaak voorkomt, is het mogelijk om beveiligingscamera's te 'hacken' en op die manier bij de beelden te komen. Voor sommige IP-camera's moet je namelijk bepaalde TCP-poorten op je router/modem openzetten, zoals 80 of 443, om van buitenaf met deze camera's te kunnen verbinden.

Als je dat handmatig (en zorgvuldig) doet, hoeft dat geen probleem te zijn. Het wordt pas echt gevaarlijk als je de camera deze poorten zelfstandig laat openzetten via uPnP (Universal Plug and Play). Deze functie vereist geen enkele vorm van authenticatie. Onbevoegden kunnen met malware daardoor eenvoudig allerlei poorten openen. Je kunt dus beter ver uit de buurt van uPNP blijven.

Zorg er tot slot ook voor dat je de firmware van de camera regelmatig bijwerkt, voor het geval er een kritieke kwetsbaarheid is gedicht. Malware als Mirai heeft in het verleden veel schade aangericht door kwetsbaarheden van slecht beveiligde camera's te misbruiken. Het is daarom ook een risico om je camera's en deurbellen met het internet te (laten) verbinden als de fabrikant geen updates meer uitbrengt.

Beelden lokaal opslaan

Als je het risico op pottenkijkers helemaal wilt voorkomen, kun je er in sommige gevallen (zoals bij de camera's van UniFi) ook voor kiezen om de camerabeelden uitsluitend lokaal op te slaan. In plaats van in de cloud, worden de beelden dan bijvoorbeeld op een SD-kaartje of basisstation opgeslagen. Dat gaat ten koste van het gemak, omdat je dan zelf ook niet meer eenvoudig op een website of app kunt inloggen om je beelden te bekijken, maar het is natuurlijk wel privacyvriendelijker.