6 ms·
Last year I've used Google Apps Script to automate a spreadsheet, it worked very well and that spreadsheet is still used inside my company. It's not very comple
by selectnull 14y ago
Last year I've used Google Apps Script to automate a spreadsheet, it worked very well and that spreadsheet is still used inside my company. It's not very complex, all together maybe 200 lines of code, with tests.
But, I'm not sure if I would do it again.
Development style is not enjoyable, coding inside textarea with syntax highlighting is simply not good enough. I would prefer to use my text editor and some way to deploy changes without the need to copy-paste from editor to browser. I want to use my
Also, tell me exactly what language and what runtime is being used on the server. I remember searching the docs and it was "it's javascript". Maybe it's better now, I haven't looked since. Or just use node, after all it's V8.
In ideal world, this is what I would like (and really use):
* let me code offline: my editor. my source control.
* give me some SDK to run code offline like app engine
* give me a way to push changes to server
* great documentation
Without these, it's just too much like VBA in the nineties.
edit: 200 lines of code
- phreeza 14y ago200 or 20000 lines of code?
- selectnull 14y ago200 :) thanx, i fixed it.
- gouranga 14y agoNOTE: this is NOT a troll. I know a great tool for the job. It works fine with source control and allows documents to be diffed and merged. The editor is 100% offline as is the product or it can be 100% online at will. No need to push changes to server - just replicate/copy. If you fancy collaboration tools you can use use extensive ones on a subscription basis. It's got a well documented SDK and an interface that you can call. Documentation is wonderful. Automation can be done with PowerShell, VB.Net, C#, Python, Ruby, VBScript, JScript/JavaScript, Java or even Common Lisp if it takes your fancy. Seriously just use Excel - it's just what you've asked for.
- dewitt 14y agoI don't think you're trolling; Excel is certainly an option. But for two things: Excel for Mac - $129 (http://www.amazon.com/dp/B003YCOJBC) Excel for Win - $121 (http://www.amazon.com/dp/B0039L2XG6) And you need a Windows box or Mac with Excel installed. I personally have access to dozens of machines, literally none of which have Excel. All of them have a web browser, and thus access to Google Spreadsheets and Google Apps Script for free. To me, and many others, that makes all the difference in the world.
- gouranga 14y agoThat's not a major issue.: You can use Office 2010 web apps FREE from a SkyDrive account and openly collaborate with people or you can pay $20 a month per seat for Office 365 and you will get Sharepoint and ALL Office 2010 desktop apps. The office web apps work perfectly in all browsers (I've tried Chrome, Firefox and IE). Considering the cost of playing around with Google spreadsheet with those restrictions, it's possibly a good idea.
- sad_panda 14y agoDoes the Excel web app support VBA? I was under the impression that the 365 apps offer a subset of the functionality of their desktop counterparts.
- gouranga 14y agoThey don't support VBA directly. I've always used Excel to publish result data to a spreadsheet rather than the entire thing. Data collection is done using InfoPath so you get the following workflow: [www:InfoPath Office 365] -> [dt:Excel]-> [www:Excel report on Office 365] It depends on your use case. I'd be tempted to use a sharepoint list with a custom report for anything more complicated.
- selectnull 14y agoYou are right, it's something I forgot to mention: we are Google Apps users. We love that product: gmail, docs, spreadsheets, now drive... our whole business is based on Apps and our own ticketing/crm/sales software. And I don't even use Excel, I run linux, although I've used Excel a lot and I think it's awesome at what it does. I didn't find your reply as trollish, you certainly do make a very valid point.
- Trufa 14y agoAgreed an offline editor is very important, in my keyboard setup for some reason I can't use the character "}". Needless to say, hard to code without it. I'm sure they will fix it so, but it's a big no no for me at least. Edit, it is not due to my keyboard language, i simply cant use the "}" character, the AltGr combination with the third button after the "L" is not working (My keybard has "ñ").
- beyondwords 14y agoWe've got a fairly robust Mail Merge script with attachments (either the same for all or per-user), but distribution and maintenance is tricky given the lack of support for a centralised library of code. Ideal would be allowing any publicly accesible URL (with some security measure to avoid blatant security holes) like Github raw master (always up-to-date). The closest I've found is using eval (which is clearly NOT the best approach). There would need to be a format to specify which services you want to use (as currently it derives these from the source you write in the editor). I would LOVE to be able to load in 'authorised' libraries to avoid redundant code.
- apgwoz 14y agoI implemented Conway's Game of Life in AppScript once: http://sigusr2.net/2010/Jun/25/google-spreadsheets-game-of-life.html http://sigusr2.net/2010/Jun/25/google-spreadsheets-game-of-l...
- pfranz 14y agoYour comment reminded me of a post I saw on here a few months back, a commandline interface for google apps (including docs): http://code.google.com/p/googlecl/ http://code.google.com/p/googlecl/
- chernevik 14y agoI've worked with this for some clients. I am but an egg, but I'm not convinced this is entirely JavaScript, I've had some code fail in App Script that passed JavaScript unit tests. And you cannot bring in libraries like jQuery. You can hack some of these. Scripts can import code from a remote server, which allows you to edit where you like, push to your remote server and pull it into App Script. That tool enables small libraries, I've used it to write a simple test environment. I think you could test App Script JsTestDriver et al with some kind of mock-up strategy. I haven't enjoyed it, but it has met the client requirements and that's the main thing, right?
- selectnull 14y agoIt is server side javascript and because of that there is not jQuery (which is client side library). You are not working with DOM, you are working with API defined by Apps Script, check the docs here https://developers.google.com/apps-script/ https://developers.google.com/apps-script/
- chernevik 14y agoI get that detachment from the DOM but jQuery has useful tools beyond element selection and manipulation. For that matter, why doesn't App Script expose an interface that expresses page components as part of a DOM? The Sheet app could provide an interface to a cell with classes for its particular column, row and sheet, allowing access with jQuery / CSS selectors. Instead users have to learn a new interface with stuff like Spreadsheeet.getRange(). And maybe they've revised the docs, but I spent a fair amount of time in them and didn't see any discussion of what JavaScript tools would not be available. I had to figure that out by trial and failure.
- tzm 14y agoThis is pretty much what I want as well. I'm working on an app that is essentially your own Google Fusion Tables running local or on your own server. It includes a CLI for running as a service (integration, etc), so plugins could be made that hook into your local editor. It's a JS-based data publishing platform. Btw, I was invited to YC interview round to show it. But sadly PG passed on it due to an enterprise strategy. :( Funny thing is I had an acquisition offer on the table during the YC meeting and subsequently closed a round. :)
- ntoshev 14y agoThe server environment is JVM-based since they expose GWT as the way to build UI. I think I remember seeing Rhino-specific error messages. The coding environment is not very good, but you can build ERPs, CRMs, document management and similar for small businesses on Google Docs, in a way Microsoft Office / VBA never made possible. The modules it provides (spreadsheets, forms, formatted text document, gmail, calendar, wiki) seem to be very useful building blocks for describing your business processes.