I would like to prevent normal users (not determined hackers) from copying an Excel spreadsheet to Google Sheets and then then using the Google version. I know I can't prevent users from copying the file, but I wonder if there are things I can do to make some features of the copied spreadsheet unusable with Google Sheets. I need a solution for this because my subscription mechanism depends on preventing the user from editing certain cells, and if the user copies the file to Google Sheets, he will be able to edit those cells (since Google Sheets does not respect Excel's cell protection).
I know that Google Sheets does not import Excel macros. So one approach might be to create macros (which I don't really need) and then tie some features to those macros, thus preventing the Google version from working. Or maybe I could use some obscure Excel function that Google doesn't support. Can anyone comment on these approaches or suggest other possibilities?
Related
I'm trying to find solutions for creating a master template in Excel. We have almost 100 Excel workbooks where data in them varies but the formatting and cell and row layout including header names remains the same. When a row is deleted in one, it needs to be deleted in all of them. When a row header is updated, it needs to be updated in all of them. When conditional formatting changes in one, it needs to be updated in all of them. Get the gist?
Solutions I've researched that won't work:
Cell linking - only copies the data and not the format; doesn't account for adding/deleting rows/columns
Format Paint - doesn't work well between different workbooks and still needs to be applied to each workbook individually; doesn't copy conditional formatting; doesn't account for adding/deleting rows/columns
Power Query - formatting is based on the destination file and there's concern that when refreshed it would delete/overwrite all of the data specific to that workbook; doesn't copy conditional formatting
Find/replace - not ideal and doesn't work with exact match (when trying to replace AP it makes no distinction between AP or apply)
MS Access - for business reasons this needs to stay in Excel (i.e. can't use Access or other database programs); this option doesn't address the conditional formatting applied to all of the workbooks
I've seen numerous threads from people looking at how to create a master template in Excel. I get that its not possible (and I have no idea why Microsoft in all its wisdom hasn't created function yet), but what I'm looking for are possible workarounds. Right now the process can take a couple people several days to update all of the workbooks. Any work arounds that can reduce this to a single person in just a few hours would be fantastic.
Posting here in case someone has a VBA suggestion that would encompass everything I need. I'm using Excel 2010 and the workbooks are stored in a document library on SharePoint.
I developed and support a spreadsheet that is used across an organization. The contents of the worksheets are very stable, but occasionally, I need to update the macros that manage them. Instead of releasing new copies of the spreadsheet, I would like to develop an automated macro-based process in the spreadsheet that checks if there are new versions of the macros and if there are, import and replace the macros that are in the user file. Is this possible and if so, how could it done?
I have around 30 Excel spreadsheets, each with 20+ worksheets. Each of these worksheets follows the same basic format, though there are slight differences. I also have a Google doc with sections that match each of the worksheets.
Somehow I need to merge the data from the spreadsheets and the Google doc into a single, searchable, editable document, which will become the new safe source, eliminating the need to maintain 600+ worksheets.
So far, the plan is to have an intern copy/paste from Excel into the appropriate section in the Google doc, but besides being akin to torture, I'm afraid this approach will take days.
Can anyone think of a way to automate at least some of this?
I've been thinking that if I could somehow take all of the Excel data and migrate it into either Microsoft Word or a Google Doc, that would be a good first step.
I have used Google Apps Script in the past and could probably figure out how to write a macro in Excel, but I can't wrap my head around how I would actually accomplish what I need to do.
I'd appreciate any suggestions.
Wanted to provide an update in case anyone else ever has a similar problem...
I ended up moving all of the existing spreadsheets to Google Drive and using Google Apps Script to iterate through the folder to get the name and id of each file and then iterate through all worksheets of each of those spreadsheets, copy all data from each sheet and append it to a new master spreadsheet.
I then migrated the existing Google Doc to a Google Sheet so I could sort.
After that I manually copied the applicable sections from this Google Sheet into the correct, corresponding section of the master spreadsheet. I'm sure someone smarter than me would have been able to script that last part as well, but I was having trouble figuring out the logic and decided to brute force the last step.
in my organization we work with Google Apps but we have one file that we need to maintain in Excel due to its complexity. All my other spreadsheets are Google Sheets and a lot of them need to get data from that excel file. So my question is: is there a way either trough google scripts or excel publishing to get data from an excel file in Google Drive to a Google Sheet?
I know all about the other direction, Google to Excel, but Excel to Google is proven more complicated. Any help would be much appreciated.
im giving you an algorithmic-level answer without code because you also have none.
with apps script you can import the xls to drive as a new spreadsheet at regular intervals. then, copy its contents to a fixed spreadsheet (replacing previous content).
other spreadsheets can read from that fixed sprradaheet with scripts/importrange etc.
I have an Excel sheet which is used for bug-tracking. Each client has their own .xlsx and each application for that client has its own sheet within the .xlsx. So multiple Excel files with multiple sheets, all in the same format.
All sheets have the same headings and some columns have data validation and conditional formatting. Occasionally, however, the layout/headings or values allowed in data-validated cells, etc. must change and I have to go through each sheet and manually make the changes.
Is it possible to have a master sheet from which other sheets will inherit headings and heading styles with all cells under particular headings having data validation and conditional formatting?
(Before this is suggested, I used to simply put everything in one sheet and use filters to show a particular client/application, but this became impractical when sharing and versioning the sheets with multiple people)
The term you are looking for is a template. You create the template and give that to your 'clients' to track bugs. If you make an update to the template and give it to the client, they can just copy/paste data into the new form.
In my opinion, you're going about this the wrong way. Excel is a spreadsheet programme, while it CAN be used as a 'list' of sorts, it is a poor choice for bug tracking. If you're stuck on Office applications, use an Access database or something that can actually give you a 'front end display' separate from the 'back end data'. There are many free bug tracking software programmes on the internet. Set one of them up and just have your clients log a bug there.
Using a template and then getting the clients to copy+paste the old data is one way, but its not exactly the safest method.
If you did want to distribute a new template to your users it would be a good idea to add some import functionality. So VBA handles copying the old data across.
If you (personally) could do the changes to the template manually, then you might also be able to create a workbook+macros to "patch" the source (or a copy of the source) data in-place.
With either approach you'd probably need to add something to the source workbook to keep track of what version they have and make sure they they import from and to the correct version to prevent unhappiness in the future.
Could you show an example of a change? before and after etc