I've been working on perfecting a couple of my google sheets for work. I need to share it with my coworkers, but I want to find a way to protect my hard work from being copied and repurposed by others.
They need to have edit access, so that eliminates "Disable options to down, print, and copy for commenters and viewers".'
I need to make sure this document doesn't get duplicated a dozen times by everyone the moment I provide them all with edit access. Any advice?
For any of those coming back to this feed, I've created a google script that if someone tries to make a copy of my document, the moment they open their doc, the entire sheet gets wiped (what I like to call 'self destruct').
So it is possible, despite the entire internet and google themselves saying it's not.
Related
How I understand it, in Colaboratory two people can write code in the same document at the same time. This doesn't seem to be working for us: we are coding in separate sections, but are still struggling to figure out to keep both of our changes. We get the notification below:
"The notebook has been changed outside of this session. Would you like to overwrite existing changes?"
or "Save Failed". Then I get two windows with my edits and his edits, but am unaware how to accept both overides.
Your guidance is much appreciated.
The information I was reading was out-of-date. Google Colaboratory removed the real-time edit functionality:
https://github.com/googlecolab/colabtools/issues/355
I have some scripts running from GSheet getting data from BigQuery. However, in order to make the files run, I need to manually enable the API every time for a given sheet.
So the question is: How to enable API within the code, so that if I share the GSheet or make a copy I don't have to go to the script editor and enable the API from there?
Thanks
I am a huge fan of this particular use of the Google ecosystem, so I'm happy to help get others up and running using GSheets with BigQuery! Hopefully it is working well for you!
When sharing the sheet with others, there is no need to alter anything in the script editor at all. The scripts should run and query BigQuery without issue; this has been my experience at least. The obvious caveat to this is that the users you share it with must have access to the Google Developer Project that the BigQuery instance is associated with.
However, when copying the sheet, I do not believe it is possible to have it replicate the connection. This is because when the file is copied, it becomes associated with a new Google Developer Project. Thus, you have to go into the script editor, then go to Resources > Developers Console Project and change the project listed to the one in which you have BigQuery enabled.
Hopefully this helps! Sorry I don't have better news for you!
I've searched around for some answers to this, but nothing I found seemed to work. I'm good with VBA, but Sharepoint is not my cup of tea. We have a corporate Sharepoint site on the web (https) where different regions submit metrics using Excel. Each Excel file is placed in the region's respective folder.
What I want to be able to do is use a local workbook to navigate to the Sharepoint site, go through the folders, open each Excel workbook, and aggregate the numbers together. The closest I've come so far is this.
However, let's say my site is:
[https://teams.mycompany.com/SubTeamFolder/Forms/AllItems.aspx.]
Nothing gets returned when I set the site variable to this in the code from the link above. If I set the site variable to something like:
[https://teams.mycompany.com/SubTeamFolder/AllItems/]
it throws error
-2147217895
.
I'm open to other approaches here. Like I said, this one seemed the most promising till I hit this wall.
Just as an FYI for those who come across this, here is how I worked through this. In the link submitted by #ARich, I went towards the bottom and used the Export to Excel functionality. This let me see the underlying path for my objects. I was then able to use the code I linked to in my original post to see the underlying folders. If you need to, insert a couple of breakpoints once you successfully connect to your target Sharepoint site to follow along with the recursive movement from parent to child object. Taking it a step further, you can then open the files using this.
I have created a spreadsheet in google docs. The spreadsheet takes some input, calculates some results, and displays the results numerically but also as a graph.
I would like to publish this spreadsheet, so that anyone can input and get the results and the graphs. I tried the Publish to the Web option (from File Menu), but the spreadsheet becomes static (no calculations possible on new values)
I tried the Share option. However when choose anyone can view the spreadsheet is not interactive. When i choose the anyone can edit option the file is usable, but my concern is that if I publish this on the internet and 2 users want to calculate simultaneously based on different values it will mix things up.
Is there anyway to accomplish what I require without setting up a website or programming in Javascript? I do not need to protect any of the calculation routines, I only require that the spreadsheet starts everytime with the default settings, the edits are not saved and the spreadsheet is interactive.
Seems like you may want to publish your Google Sheet as a template. Doing so will let strangers "deploy" a copy of your spreadsheet, for their own use (and without conflicting with other web users).
Google Docs template gallery
Instructions for submitting a template
Caveat: Until Google adds support for publishing "new" Google Sheets as templates, you'll likely want to submit a spreadsheet in the "old" format.
I might suggest using Protected Ranges.
https://drive.googleblog.com/2012/08/lock-down-cells-with-protected-ranges.html
Basically locked cells and you should be the only one able to manipulate the locked cells to you can freely set the page to be editable.
You can also specify the Range of cells that you wish to use when embedding. (See the publish options).
These two methods should help you with your project.
How can I cripple an excel document after a certain date? I want it to become unusable after, say, 12/31/2009.
I was thinking about putting one of those Must Enable Macros things in there that hides all the sheets on close and leaves one tab that says you must enable macros. Then having an on open macro that unhides all those tabs, but also will close itself if after a certain date. This has a few drawbacks in that someone could just enter in the macro code (without macros enabled) and change the expiration date... or even just change their system time. Any thoughts about good ways to do it? Is my method pretty much as good as you can get? or are there better ways out there?
Thanks.
You might want to have a look at Microsoft's Information Rights Management (IRM) technology. IRM lets you control which users are permitted to read, edit, print etc the content of a document. It is also possible to specify an expiration date.
IRM requires you to either have an ActiveDirectory infrastructure with a domain controller or you may use the IRM service hosted by Microsoft.
For further details check out Controlling workbook access in Excel with Information Rights Management.
Dan, I am not sure of the purpose you are trying to lock the excel sheet. However if you write the macro then you can password protect the VBA code so that no changes are made to the code.
Having said so, there is still a possibility to have workarounds and access the excel file; no method can be foolproof.
Cheers...