In de vorige twee tutorials in deze serie heb ik je enkele manieren getoond Keyboard Maestro kan communiceren met bestanden.
Ik begon met het bouwen van een macro die een groep bestanden neemt en ze hernoemt als een reeks voordat ze verder gaan en onderzoekt hoe macro's kunnen worden geactiveerd met mappen.
In deze zelfstudie laat ik u zien hoe een macro tekstbestanden kan maken en schrijven.
Om het meeste uit deze zelfstudie te halen, moet je de twee eerdere zelfstudies in deze serie hebben gelezen:
Je zult ook de tutorial gemakkelijker te volgen vinden als je mijn vijfdelige introductieserie over de basisprincipes hebt gelezen Keyboard Maestro:
Ten slotte heb ik je ook een aantal specifieke functies getoond in Keyboard Maestro. Hoewel deze zelfstudies niet nodig zijn om te lezen, zullen ze u helpen te zien hoe alle verschillende functies van Keyboard Maestro kan worden gecombineerd.
Om voor de hand liggende redenen heeft u een kopie nodig van Keyboard Maestro. Het is $ 36, maar er is een gratis proefversie, zodat je het kunt bekijken voordat je begint.
In deze zelfstudie maak ik een journalling-macro. Wanneer ik op een sneltoets druk, wordt ik gevraagd een journaalboeking te maken. Dit wordt opgeslagen in een tekstbestand.
Hoe de macro werkt, als ik dezelfde dag nog een item maak, wordt deze aan hetzelfde tekstbestand toegevoegd. De macro is ook aanpasbaar, zodat ik een nieuw tekstbestand voor elke dag, week of zelfs maand kan hebben.
Het opgeslagen journaalbestand.De eerste stap in een journaal is om de daadwerkelijke journaalboeking te krijgen. Om dat te doen, heb ik twee dingen nodig:
Begin met het maken van een nieuwe macro. Noem het zoiets Quick Journal.
Voor de trigger heb je een paar opties. Als je elke dag op hetzelfde tijdstip wilt journaalen, geef het dan een Op tijd op gang brengen. Als u, net als ik, een meer vrijblijvend dagboek wilt, dan Sneltoets Trigger is de beste. Ik heb de snelkoppeling gebruikt Command-Shift-, maar gebruik wat je maar wilt.
Een nieuwe macro maken.Het eerste dat de macro doet, is het vastleggen van de invoer van het journaalboeking. Voeg een ... toe Vragen om gebruikersinvoer van de Variabelen sectie.
Het enige dat ik moet doen is de journaalboeking, dus klik op Plus knop onder Variabelen en standaardwaarden en maak een variabele genaamd dagboek. Ik heb het een standaardwaarde van gegeven Geen toegang die ik later zal gebruiken om ervoor te zorgen dat ik niet per ongeluk journaalboekingen toevoeg.
De snelle actie.De knoppen, OK en annuleren zijn oke, dus anders dan het veranderen van de Titel en prompt Ik hoef niets te doen.
Nu ik een manier heb om een journaalboeking vast te leggen, heb ik een manier nodig om ervoor te zorgen dat ik niet per ongeluk een dagboek maak. Dit betekent het gebruik van een Controlestroom actie om te testen of het journaal dat ik heb ingevoerd enige waarde heeft.
Van de Controlestroom categorie, voeg een toe If Then Else Action. Stel de voorwaarden in zodat If Alle volgende zijn waar Het variabele journaal is geen invoer.
De besturingsstroom voor de macro.Dit betekent dat zolang ik iets anders invoer dan Geen toegang in het journaaldialoogvenster wordt het opgeslagen. Als ik het laat staan naar de standaardwaarde, doet het dat niet.
Voor het tijdschrift wil ik elke dag (of mogelijk week) een eigen tekstbestand hebben. Ik moet een tekstbestand maken, maar eerst moet ik een manier hebben om elk bestand uniek te noemen. Omdat dit een dagboek is, wil ik dat elk bestand met de datum wordt genoemd. Dit betekent dat ik de datum in een variabele moet opslaan, zodat ik deze later kan gebruiken.
Van de Variabelen categorie, voeg een toe Variabele instellen op tekst actie onder Voer de volgende acties uit.
De datum opslaan als een variabele.Bel de veranderlijk zoiets als JournalDate. Klik op Token invoegen> Datum> Geformatteerde ICU-datum tijd en bewerk het om te zeggen % ICUDateTime% YYY-MM-d% of voer gewoon de tekst rechtstreeks in. Dit stelt de variabele in JournalDate naar het huidige jaar, de huidige maand en dag, bijvoorbeeld voor vandaag, zou de variabele worden ingesteld op 2018-01-22.
Opmerking: als u de macro eerder wekelijkse bestanden dan dagelijkse afbeeldingen wilt laten maken, stelt u de JournalDate variabele naar % ICUDateTime% YYY-MM-w%.
Met de journaalboeking en de datum van de dag opgenomen in variabelen, hebben we een manier nodig om ze in een tekstbestand op te slaan. Van de het dossier categorie, voeg een toe Tekst toevoegen aan een bestandsactie.
Ik wil meerdere keren per dag kunnen journaalen, wat betekent dat we elke journaalboeking moeten laten verlopen door een tijdstempel. Onder Tekst toevoegen, in te voeren:
%Lange tijd% _
Zorg ervoor dat u de nieuwe regel toevoegt na het onderstrepingsteken. Anders heb je problemen met de opmaak.
Klik vervolgens voor het bestand op de paarse map en gebruik het dialoogvenster om naar de map te gaan waar u uw journaalboekingen wilt opslaan.
Geef ze de titel Journaal% variabele% JournalDate% .txt; dit betekent dat de macro elke dag of elke week een nieuw tekstbestand zal aanmaken Journal [Datum] de eerste keer dat je het uitvoert.
Omdat ik een toevoegen actie in plaats van een Schrijven actie, als het bestand al bestaat, wordt de datum aan het einde toegevoegd.
Deze actie timestamps elke invoer en maakt het bestand indien nodig.Voeg vervolgens nog een toe Tekst aan bestand toevoegen actie. Klik op Tekst toevoegen en verander het in Variabele toevoegen. invoeren dagboek voor de waarde en gebruik hetzelfde Bestandsadres zoals in de vorige stap.
Hiermee wordt de daadwerkelijke journaalboeking aan het bestand toegevoegd.Het laatste wat u moet doen is een scheidingsteken toevoegen aan het einde van de journaalboeking. Nog een toevoegen Tekst aan bestandsactie toevoegen en geef het de waarde van:
_
Nogmaals, kijk voor en na de regeleinden en zorg ervoor dat het bestandsadres hetzelfde is als in de vorige stappen.
En met dat gedaan, is de macro klaar voor gebruik.
Omdat ik een If Then Else Statement, de macro wordt niet uitgevoerd als ik geen journaalboeking invoer.
Hoewel het goed is om de macro stil te laten werken, is het beter dan dat ik weet dat het mislukt.
Van de Kennisgeving categorie selecteren Kennisgeving en sleep het naar beneden Voer anders de volgende acties uit. Stel de Titel naar Het invoeren van een journaal is mislukt.
Als de macro faalt, wil ik er meer van weten.Nu, als de dagboekmacro mislukt, krijg ik een melding.
Het schrijven naar tekstbestanden is erg handig Keyboard Maestro functie. Het is een eenvoudige manier om dingen bij te houden of vast te leggen. Keyboard Maestro kan naar wens tekst naar bestanden maken of toevoegen.
De voltooide macro.