53

Use this link by Google to open Tasks standalone: https://tasks.google.com/embed/?origin=https://calendar.google.com&fullWidth=1 If you have multiple Google accounts logged in at the same time, you can add the target account to the link url like so: https://tasks.google.com/embed/?origin=https://calendar.google.com&fullWidth=1&authuser=example@...


11

You now have a web interface for Google Tasks on https://tasksboard.app/


6

If you are using for loop you could use continue to terminate the execution of the current iteration. A way to implement the above by using an if statement and || (logical OR) function myFunction() { var ss = SpreadsheetApp.getActive(); var allsheets = ss.getSheets(); for(var s in allsheets){ var sheet = allsheets[s]; // Stop iteration ...


4

Yes, it is possible to tag a Facebook group in a post. Below are instructions: Step 1 Log into your Facebook account and then navigate to the item you'd like to update with a tag. Click on the "Comment" hyperlink beneath a status or image posting to tag a Facebook user in the post's comments sections. To tag a group to your status, click inside of your ...


4

Coercion in js is amazing and in this case you could simply use like this sheet.getRange("B2").setValue(A + "") Simply plus the empty string to your value. And for something in the similar but reverse way you can use +myString Just using as a prefix an unary + operator, this will coerce the string to a number. Find more about js coercion with a super ...


4

You could use Full Screen for Google Tasks


3

Working with date, time and specifically duration is a pain in JavaScript, and Google Sheets does not make it much easier. A JavaScript Date object (which is really a datetime object) is not suited for working with durations. A datetime is a lot more complex than it seems at first. So when you ask Where did the "days" part of the duration go? ... ...


3

Google offers a very detailed log for you to review: https://myactivity.google.com/myactivity It has a date filter and shows minute-by minute activity.


2

What you pasted is only a partial section of a declaration, but what the full declaration you pasted seems to do is declare an array variable containing a string containing what could very plausibly be hex code... Looking at the full code I would suggest that context will be key in this case, as it would seem unusual for a blog to need to be throwing about ...


2

I write a user script for clear Tweetdeck Tweet https://openuserjs.org/scripts/b1nj/TweetDeck_Clear for use this script you must install an extension specific to your browser.


2

Short answer How can I convert a cell value to a number? On Google Sheets durations are just a display format for date values, so when a custom function takes a duration it's treated as a date object. Explanation Doing arithmetic operations When we are doing arithmetic operations on dates/times/duration, we should bear in mind the following: Google ...


2

I was able to piece together a solution thanks to the help of @Rubén who provided the elements. Perhaps there is a more elegant solution (with a single formula?), but this working for me. This involves using formulas in 2 different cells, as well as a script. Formula #1 (in cell A1 in this case) finds the closest date on or after today from the list of ...


2

You want a user to select a column letter from a dropdown list, and then have the spreadsheet "jump" to that column. There may be several ways to solve your question. Consider this answer as one approach. There are several elements required to achieve your goal: You need a droplist list The content of the dropdown list must be every column letter ...


2

When you have two onEdit(e) functions in the same script project, only one of them will run. The simplest pattern to combine two onEdit(e) functions is to rename the existing functions to doFirstThing_(e) and doSecondThing_(e), and then call them like this: function onEdit(e) { doFirstThing_(e); doSecondThing_(e); } You should however consider ...


1

Answer to the original question I've created the following function: function Merge() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getSheetByName('Schedule'); const range = s.getRange("B3:H20"); const numRows = range.getNumRows(); const numCols = range.getNumColumns(); for (let i = 1; i <= numCols; i++) {...


1

UPDATE: Google Apps Script now offers two JavaScript engines Original: Based in Mozilla's Rhino JavaScript interpreter, which doesn't support several ECMAScript 5 features New: Google V8, used by Chrome and Node.js, which support ECMAScript 6 but with some limitations (i.e. it doesn't support modules) References https://developers.google.com/apps-script/...


1

API calls, such as getRange and getValue are expensive, so you should minimize the number of times you get data from your sheet. But there's no apparent cost of getting a lot of data in one call. You could extract all the values from your sheet, store it in a JavaScript array, and operate on that. So instead of calling getRange etc from within a for loop, ...


1

Your data is in column A. The number of rows is large, but variable. If a cell in Column A contains text, the cell value should be changed to a boolean value of "FALSE". If the cell contains a ticked checkbox then you want to "uncheck" the checkbox. If the cell contains an "unticked" checkbox, then no action is required. Your ...


1

The following block "doesn't work" because it's inside of the first if block if(e.range.getA1Notation() === 'B5' && e.range.getSheet().getName()=='Temp1'){ if(e.value=='Base10') { e.range.getSheet().showRows(10,2); } try function onEdit(e){ if(e.range.getA1Notation() === 'B13' && e.range.getSheet().getName()=='Temp1'){ ...


1

To create a custom function use Google Apps Script. This is very similar to writing a JavaScript function. /** * If the arguments are numbers, the sum of will be returned * If one of arguments are strings, they will be concatenated * * @customfunction */ function myCustomFunction(a,b){ return a + b; } Start by reading https://developers.google....


1

I think we can't manipulate duration calculated. We need to convert them to numbers first, and then we can manipulate number values calculated. After that, we convert them back to duration. For example, we want to add 2 duration at 2 ranges durationRg1 and durationRg2 into the range totalDuragionRg. totalDurationRg.setValue(Add2Duration(durationRg1, ...


1

Google Apps Script / JavaScript doesn't include a "native" way to handle durations but you could use a library like moment.js to add several methods to handle them but this could imply a steeped learning curve. A simpler solution is to read the duration from the spreadsheet as "displayed value" by using getDisplayValue instead of the "inherent value" got ...


1

I'm also an old Google Tasks Canvas user, and I built a complete replacement web app for it (with upgrades) called GTaskD that you can use for free: https://tasks.gtaskd.com/ Warning: 2019-08-30 is the date that Google will get rid of multiple levels of subtasks in the API itself (as opposed to just their interfaces), so third party apps won't be able to ...


1

I used simplegamer solution with tasks.google.com/embed link but for javascript I prefer greasemonkey, so you save 1 click every time. This is the script I use in greasemonkey: // ==UserScript== // @name google tasks // @version 1 // @grant none // ==/UserScript== // @match https://tasks.google.com/embed/list/~default?fullWidth=1 // @match https://...


1

The range the script tried to add notes was within a protected range. That's why it works for app owner but not shared editors. I just unprotected the range for the script and it worked. Not ideal but it gets the job done. Hopefully Google will have separate permission layers for notes and cells. (also notes should have formatting!)


1

you are calling time inside date (formatDate) without actual date format so the sheet is guessing. var formattedDate = Utilities.formatDate(time, "GMT+2", "MM-dd-yyyy HH:mm:ss");


1

The way that Sheets and Apps Script handle "dates" are very different. For Sheets the "date" unit is 1 day; The base date is 1899-12-30 0:00:00, getting the timezone from the spreadsheet settings. For Apps Script, which is based on JavaScript, the "date" unit is 1 millisecond. The base date is 1970-1-1 00:00:00 UTC. Below is an example script that if the ...


1

If the pattern will always be the same (three columns for each customer), rather than searching for a column named status, your script could look to column C and every third column after it. C is column 3 F is column 6 I is column 9 For this you could use the remainder (%) operator. Something like this: (r.getColumn() % 3 === 0) The above will return ...


1

I think it should look like this: for (var s in allsheets) { var sheet = allsheets[s]; // Stop iteration execution if the condition is meet. if (exclude.indexOf(sheet.getName()) == -1) //your code here continue; } // end of loop


Only top voted, non community-wiki answers of a minimum length are eligible