Jeg har kigget under indsæt> …? men kunne ikke finde noget.
Kan dette gøres via en indbygget funktion eller et brugerdefineret script?
Kommentarer
Svar
Det er muligt at indsætte dagens dato gennem en makro.
Åbn dit Google-dokument og vælg Scripteditor iv id = “under Værktøjer 75f46555c1 “>
. Dette åbner Googles scripteditor, hvor det er muligt at oprette makroer til Google Dokumenter.
Indsæt dette script, og gem det som Datomakro eller noget:
/** * The onOpen function runs automatically when the Google Docs document is * opened. Use it to add custom menus to Google Docs that allow the user to run * custom scripts. For more information, please consult the following two * resources. * * Extending Google Docs developer guide: * https://developers.google.com/apps-script/guides/docs * * Document service reference documentation: * https://developers.google.com/apps-script/reference/document/ */ function onOpen() { // Add a menu with some items, some separators, and a sub-menu. DocumentApp.getUi().createMenu("Utilities") .addItem("Insert Date", "insertAtCursor") .addToUi(); } /** * Inserts the date at the current cursor location in boldface. */ function insertAtCursor() { var cursor = DocumentApp.getActiveDocument().getCursor(); if (cursor) { // Attempt to insert text at the cursor position. If insertion returns null, // then the cursor"s containing element doesn"t allow text insertions. var date = (new Date).toLocaleDateString("default", { day: "numeric", month: "long", year: "numeric"}); // use your local (browser) date format with month name var element = cursor.insertText(date); if (element) { element.setBold(true); } else { DocumentApp.getUi().alert("Cannot insert text at this cursor location."); } } else { DocumentApp.getUi().alert("Cannot find a cursor in the document."); } }
Nu skal du opdatere eller åbne dit dokument igen, og et nyt menupunkt vises: Hjælpeprogrammer . Under denne menu vises et punkt, der hedder Indsæt dato . Klik på den for at indsætte dagens dato på din markørposition.
For at ændre formatet på datoen skal du ændre “formatet ”Brugt i scriptet. Formatet kan indeholde følgende tegn: yyyy-MM-dd"T"HH:mm:ss"Z"
For at afklare indsætter dette script kun dagens dato på markørplaceringen for dag du udfører hjælpeprogrammet. Det er ikke nøjagtigt det samme som = i dag () -funktionen i Google Sheets, som opdaterer datoen til den aktuelle dato, hver gang du åbner regnearket. Dette script sparer dig dog besværet med at slå datoen op og skrive den på den dag, du udfører scriptet.
Kommentarer
- Indsætter dette den aktuelle dato i den lokale tidszone eller den aktuelle dato i GMT?
- Det er som standard " GMT ". Hvis du ser på linjen, der indeholder:
Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");
det ' er muligt at skifte GMT til en valgt tidszone. - Jeg ' er lavet en lignende funktion til SpreadsheetApp (for at indsætte dato i aktiv celle). Du kan finde den her: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
- Nu … er der en eller anden måde at automatisk tvinge et script til at blive indsat i alle dokumenter oprettet i en organisation?
- Er dette er det nogen måde at gøre dette script til " globalt ", så scriptet er der og tilgængeligt for hver Google Doc, jeg opretter eller åbner?
=TODAY()
fungerer ikke til logning, da den opdateres til den aktuelle dato hver gang siden åbnes. De fleste gange vil jeg optage dagens dato og ikke opdatere. Hvis du har brug for at indsætte dagens dato for en logfil, så har du brug for noget andet.