I am trying to automate action items assignments in google sheets.
At the moment it is manual process. Our google sheets have section with two columns:
One column with reviewer names and emails
Another column with sign off (completion) dates
Managers have to go through many “sign off” cells one by one, press Ctrl+Alt+M to insert comment, enter corresponding reviewer’s email with plus symbol and some text
‘+John.Citizen#mycompany.com
Please review this sheet and blah-blah-blah’
JavaScript Range functions setNote or setCommet (https://developers.google.com/apps-script/reference/spreadsheet/range#setnotenote ) do not work for me.
Any idea how to assign using script or somehow simulate pressing (Ctrl+Alt+M) ?
Thank you
As #Patrick P says, there is no methods in Apps Script to interact with comments.
But go ahead and add a star next to the issue number here[1] to give it more visibility.
[1]https://issuetracker.google.com/36756650
With the Drive API you can create and manage comments and replies, they can be anchored to a position on the document, or unanchored which is just associated with the document.
Have a read at the documentation here:[2]
[2]https://developers.google.com/drive/api/v3/manage-comments
Related
My friend has a very advanced excel spreadsheet he uses for a financial modeling class. He's asked me to help him turn the spreadsheet into an web page. He's been rather adamant that it maintains a spreadsheet like design. Meaning when one cell of the table is filled in then one ore more cells of that table are filled in based upon some formula for that respective cell.
My initial thought was to find some Excel to HTML converter... to no avail. All the ones I found either didn't maintain the formula's or weren't free.
Has anyone come across this problem before? If so, what did you do?
If not, any suggestions how to code a table like this using HTML/Javascript?
Thanks
I am trying to find a way to protect a Google Sheets spreadsheet document from being modified by the owner. In other words, I want to make the cells of my Google Sheets spreadsheet to be read-only.
How can I create a script, assigned to a button, that would accomplish this?
Specifically, I need two features:
1) Make the sheet read-only.
2) Modify a specific cell, then make the sheet read-only again.
I'm not sure if you mean you, as the owner of the sheet, are unable to edit it or if everyone except you is unable to edit it.
Either way, go to the Data menu and click 'Protected sheets and ranges'. In the sidebar, click 'add a range', add a description if you like, choose 'range' from 'range/sheet', add the cell reference you wish to protect and:
If you want others to be unable to edit it:
Change permission drop down to 'Only me'
If you want to be unable to edit it:
Change permissions to 'Edit with warning'
(This is the best I can think of, because as the owner of the sheet, you cannot prevent yourself from editing cells, but this will alert you if you try change a cell you wish to protect)
Found Solution In this site.
Go to Data -> Protected Sheet & Ranges
https://www.howtogeek.com/412399/how-to-protect-cells-from-editing-in-google-sheets/
I am working on a project where I must have daily inventory entered by multiple locations into Google Sheets. There are up to 85 potential entries so I chose to create it in a spreadsheet instead of Google Forms.
The question that I have is, after data is entered into the Google Sheet, can I add a submit button that will record the data into a Master Sheet so I may generate reports and record the data over time?
Thank you in advance.
Short answer
Yes, it's possible.
Explanation
Google Sheets could be extended by using Google Apps Scripts. You could insert an image and assign a script to it but also you could use custom menus, dialogs, side bars and triggers.
Reference
Extending Google Sheets
I would like to have an URL which opens an editable Google Spreadsheet and have specified cells selected so that the user does not have to find the data in a long sheet before editing. The cells to be selected should be given in the URL. It is also good if a specific row is filtered.
It was super easy with the old Google spreadsheets. I know it is possible without editing possibility, but I need it to open the editable version.
Also I know that I could create a filter view and share that as a link, but I cannot make a filter view for each row and get the URL for it.
I have also went into web scripts (HTTP Get in Google Spreadsheet, "e undefined"), which can take variables from URL, but cannot open the sheet on the client side (I have not found it yet).
You can create a Google Script webapp that would store url values as User Properties which could then be used in an onOpen trigger. To make this work there is a couple of things to be aware of. Firstly, like other Properties Services stored values are bound to the script. This means that if you write two different scripts and set a User Property in one script you can’t get it in another:
The Properties Service lets you store simple data in key-value pairs
scoped to one script, one user of a script, or one document in which
an add-on is used. … Properties are never shared between scripts. –
Google Script Properties Service Guide
A way around this is you have a library which is used to store and return properties. I've written a blog post which explains this in more detail. As part if this I've created a webapp anyone can use using the following url and parameters
To open your sheet at a row for editing direct users to the following url replacing the values as indicated:
https://script.google.com/macros/s/AKfycbzG9_2mWd6x7zFf9V6PH33ORRzZWcVGi_pQs500nbs5Pbdkwy26/exec?id=YOUR_SHEET_ID&sheet=YOUR_SHEET_NAME&row=YOUR_ROW_NUMBER
Optionally if you wish to include a header row when the sheet opens use &header=NUMBER_OF_ROWS_FOR_HEADER. Anyone is welcome fork/modify this code to get your required functionality.
its not possible in new sheets because they removed the listview feature from old sheets.
your only option is the one mentioned in the linked blog post you provided:
"Comment at a specific cell, and, in that comment "plus someone" - that is, type "+" and then the person's email or name NOTE: you will get a list of people in your domain as soon as you type the "+", filtered as you start typing their name/email the person you "plussed" will get an email with both the contents of the cell and your comment the link in that email will take them DIRECTLY TO THE TARGET CELL with the comment activated"
*** Update THR 20181004: In today's current version of Google Sheets, you can right-click a cell and select the "Get link to this cell" menu item, which copies a URL to the clipboard that will open the spreadsheet with the indicated cell in the upper left corner, subject to the limit of the existing rows and columns filling to the bottom and right edges respectively of the page. The URL is the same format as in the previous feature before this exposure in the Sheets UI, appending &range=<cell-A1-address> to the #gid=<tab-GID> fragment spec, eg:
https://docs.google.com/spreadsheets/d/1QSAJzpdM6z4haa-ah1HKqdy8U1vUxWmPIwplej-9fsI/edit#gid=907876553&range=C7
In today's (THR 20180607) current version of Google Sheets, you can open a sheet with a specified cell shown in the top left visible corner, by specifying the cell address as the range in the URL's fragment component. For example, cell C7 in Google's [Template] Google Sheets: Project plan sheet:
https://docs.google.com/spreadsheets/d/1QSAJzpdM6z4haa-ah1HKqdy8U1vUxWmPIwplej-9fsI/edit#gid=907876553&range=C7
Of course this same technique positions the top left cell of a multicell range in the top left visible corner of the sheet.
Note that the specified cell will be positioned in the window's scrolling viewport after any frozen rows/columns are applied to the view. You can get the complete URL, including the cell's fragment tuple, by right-clicking the cell, and in the popup context menu selecting "Get link to this cell".
The URL can be constructed programmatically, so any object in the sheet that can anchor a hyperlink URL can be linked to any cell/range for navigation to it. Therefore this technique is usable via the GUI, by cell formula/style, or by script - or by any external application/page.
It's disappointing that Google hasn't included in the basic Sheets GUI a field in which the user can enter a cell or range address to jump to that range by URL. Every serious spreadsheet application has had this basic feature since the 1980s.
I need some help with oracle apex. The thing which I want to do is the following:
I have table with some data about people. So each row describes exactly one human. And I want to show some more information about certain human. For example, list of shops he or she has visited. Such data provided by other tables.
I see it in this way: right click on table with people on certain row -> select option (what kind of info to show) -> execute stored procedure and show new page with data table (e.g. list of shops). But how can I implement it?
I've already found this plugin. Now I can execute some JavaScript function after right-click. But how can I execute stored procedure and show new page?
I'm new in apex, any help would be appreciated.
You're trying to reinvent the wheel. You're new to apex. Have you taken a good look at the documentation?
Start out where everyone else has to start: at the beginning. Report + form. Column links.
There is ample help available to someone new to apex.
The 2-day developer guide, running you through some of the
basics of apex and a good familiarization.
Get a workspace at apex.oracle.com
Each workspace starts with the sample database application, based on
products and customers. You can view and edit this application and
thus you can glean plenty of information from it.
Furthermore, there are the packaged applications, many of which offer
good basic solutions to common situations. Again, you can glean a lot
of information on them, and they are even editable after you unlocked
them.
After you are familiar with the basics, you can look further ahead. What you are asking is simply too much for someone new to the matter. You even want to implement a jQuery plugin straight away. You're talking ajax. It's great if you know those subjects and they'll be of plenty of value to you, but it just seems you don't even know how to present and fetch your data.
A good start would be to make a report and a form. In the form you can then add some classic (or an interactive) report(s) to represent associated data.
It's possible. First of all, assume that each row contains unique identifier ID. You have to add hidden item to the page which would contain additional info about certain row. Let's name it P1_ID. Then add the following JavaScript code to page which contains initial data (in example from question, page with table with information about people):
function TestFunction(action, el, pos) {
var id = $(el).children('td[headers="ID"]').text();
var href = 'f?p={APPLICATION ID}:{PAGE_NUMBER}:&SESSION.::::P2_ID:'+id;
window.location = href
}
Function name should match name in plugin settings. Example: link
Replace APPLICATION_ID and PAGE_NUMBER with actual values according to application. PAGE_NUMBER is the page number which contains additional info about row.
Then you can add some reports to the page with additional info and use ID parameter to select information about certain row.
The only problem is that plugin mentioned in question stop working after table refreshing. For example, if we filter data in table then no menu on right click will be shown. I don't know how to fix it for now. Any ideas?