Arbeta med filer i Keyboard Maestro Del 3

I de föregående två handledningarna i denna serie har jag visat dig några av sätten Keyboard Maestro kan interagera med filer. 

Jag började med att bygga ett makro som tar en grupp av filer och byter namn på dem som en sekvens innan de fortsätter och utforskar hur man utlöser makron med mappar. 

I den här handledningen visar jag hur ett makro kan skapa och skriva till textfiler.

förutsättningar

För att få ut det mesta av den här handledningen måste du läsa de två tidigare handledningarna i denna serie:

  • Arbeta med filer i Keyboard Maestro: Del 1
  • Arbeta med filer i Keyboard Maestro: Del 2

Du kommer också att hitta handledningen enklare att följa om du har läst min fem del introduktionsserier som täcker grunderna i Keyboard Maestro:

  • Keyboard Maestro I: Introduktion
  • Keyboard Maestro II: Starta Apps Intelligent
  • Tangentbord Maestro III: Situationsutlösare
  • Tangentbord Maestro IV - Kontrollflöde
  • Tangentbord Maestro V - Variabler

Slutligen har jag också visat dig några specifika funktioner i Keyboard Maestro. Medan dessa handledning inte krävs läsning, hjälper de dig att se hur alla olika funktioner hos Keyboard Maestro kan kombineras.

  • Använda Keyboard Maestro för att skapa anpassade tangentbordsgenvägar
  • Använda paletter för att förbättra tangentbordsgenvägar i Keyboard Maestro
  • Arbeta med text i Keyboard Maestro: Del 1
  • Arbeta med text i Keyboard Maestro: Del 2

Av uppenbara skäl behöver du en kopia av Keyboard Maestro. Det är $ 36 men det finns en gratis provperiod så att du kan kolla in det innan du begår det.

Bygga makroen

Vad jag bygger

I denna handledning skapar jag ett journalmakro. När jag trycker på en snabbtangent, uppmanas jag att skapa en journalpost. Detta sparas i en textfil. 

Hur makroet fungerar, om jag skapar en annan post samma dag, läggs den till i samma textfil. Makroet är också anpassningsbart så jag kan få en ny textfil för varje dag, vecka eller månad.

Den sparade journalfilen.

Hämta journalinmatningen

Det första steget i en journal är att få den faktiska tidningen. För att göra det behöver jag två saker:

  1. Något sätt att aktivera makroet 
  2. Något sätt att fånga in posten

Börja med att skapa ett nytt makro. Ring det något liknande Snabbtidskrift

För utlösaren har du några alternativ. Om du vill journalera på samma gång varje dag, ge den en Vid tiden trigger. Om, som jag vill ha en mer freeform journal, då a Snabbknappssändare är bäst. Jag har använt genvägen Kommando-skift-, men använd vad du vill.

Skapa ett nytt makro.

Det första som makrot gör är att fånga in inmatningen av journalposten. Lägg till en Fråga efter användarinmatning från variabler sektion. 

Det enda jag behöver få är journalposten, så klicka på Plus knapp under Variabler och standardvärden och skapa en variabel som heter Tidning. Jag har gett det ett standardvärde av Ingen ingång som jag ska använda senare för att jag inte kommer att lägga till journalposter per oavsiktligt.

Den snabba åtgärden.

Knapparna, ok och Annullera är okej, så annat än att ändra Titel och Prompt Jag behöver inte göra någonting.

Testa för en journalinmatning

Nu när jag har ett sätt att fånga en journalpost, behöver jag ett sätt att se till att jag inte gör journal genom misstag. Det innebär att använda a Styrningsflöde Åtgärd för att testa att den tidskrift jag har angett har något värde. 

Från Styrningsflöde kategori, lägg till en Om då annan åtgärd. Ställ in villkoren så att If Alla följande är sanna Variable Journal är inte någon post

Kontrollflödet för makroet.

Det betyder att så länge jag skriver in något annat än Ingen ingång i journaldialogrutan sparas den. Om jag lämnar det till standardvärdet, kommer det inte.

Spara datumet till en variabel

För tidningen vill jag varje dag (eller möjligen vecka) ha en egen textfil. Jag behöver skapa en textfil, men först måste jag ha något sätt att namnge varje fil unikt. Eftersom det här är en journal, vill jag ha varje fil som heter namnet. Det betyder att jag måste lagra datumet i en variabel så att jag kan använda den senare.

Från variabler kategori, lägg till en Ställ in Variabel till Text åtgärd under Utför följande åtgärder

Lagrar datumet som en variabel.

Ring Variabel något liknande JournalDate. Antingen klicka på Infoga Token> Datum> Formaterad ICU Datum Tid och redigera det för att säga % ICUDateTime% YYY-MM-d% eller skriv in texten direkt. Detta ställer in variabeln JournalDate till det aktuella året, månad och dag, till exempel för idag, skulle den ställa in variabeln till 2018-01-22. 

Obs! Om du tidigare skulle ha makrot skapa veckobilder snarare än dagliga, ställer du in JournalDate variabel till % ICUDateTime% YYY-MM-w%.

Spara inmatningen till textfilen

Med journalposten och dagens datum registrerade till variabler behöver vi något sätt att spara dem till en textfil. Från Fil kategori, lägg till en Lägg till text i en filåtgärd.

Jag vill kunna journalera flera gånger på en dag, vilket innebär att vi måste ha varje journalpost fortsatt av en tidsstämpel. Under Lägg till text, stiga på:

%Länge sedan% _

Se till att du lägger till den nya raden efter underskriften. Annars har du formateringsproblem.

Därefter, för att filen ska du klicka på den lila mappen och använd dialogrutan för att navigera till den mapp där du vill spara dina journalposter. 

Ge dem titeln Journal% Variable% JournalDate% .txt; det betyder att makroen skapar en ny textfil varje dag eller vecka som heter Journal [Datum] Första gången du kör den. 

Sedan jag använde en Bifoga åtgärd snarare än a Skriva åtgärd, om filen redan finns kommer datumet att läggas till slutet.

Denna åtgärd avmarkerar varje post och skapar filen om det behövs.

Nästa lägg till en annan Lägg till text i fil verkan. Klicka på Lägg till text och ändra den till Lägg till variabel. Stiga på Tidning för värdet och använd samma Filadress som i föregående steg. 

Detta lägger till den aktuella journalposten i filen.

Det sista man behöver göra är att lägga till en separator i slutet av journalposten. Lägg till en till Lägg till text till filåtgärd och ge det värdet av:

_ 

Återigen, se linjen raster före och efter, och se till att filadressen är densamma som i föregående steg.

Den slutgiltiga åtgärden ställer in filen för en ny post.

Och med det är makroen klar att använda.

Avsluta Elsexponeringen

Sedan jag använde en Om då någon annan uttalande, Makroet kör inte om jag inte anger en journalpost.

Medan makroen misslyckas tyst är det bra, det är bättre än jag är underrättad om det misslyckas. 

Från Underrättelse kategori välj Underrättelse och dra den under Annars utför följande åtgärder. Ställ in Titel till Misslyckades med att skriva in en tidskrift

Om makroen misslyckas vill jag veta om det.

Nu, om journalen makro misslyckas, får jag en anmälan. 

Avslutar

Att skriva till textfiler är ett mycket användbart Keyboard Maestro fungera. Det är ett enkelt sätt att spåra eller logga saker. Keyboard Maestro kan skapa eller lägga till text i filer som du behöver.

Det färdiga makroet.