Constantine, I agree with your reasoning. One additional thought, probably not useful in your case, but maybe for others: You can create a single Monitor spreadsheet that has one cell monitoring each target cell in your other sheets. Each cell would display an alert string when triggered. This would allow you to read just one sheet (the Monitor) to know what emails to send or what sheet/cell to update.
Re James' comment, yes a cron feature for Scripts would be perfect. I hope I can get cron to work in App Engine. After I figure out how to get AuthSub to work that is - I only found very complicated example of that. Regards, Bill Hayes On Sep 15, 7:58 am, thstart <thst...@gmail.com> wrote: > On Sep 14, 10:43 am, "Bill H." <bhaye...@gmail.com> wrote: > > > I believe the following is true. > > You cannot (automatically) do what you ask about. > > I suspected something like that after reading Script and > other documentation. This functionality is essential and > I wondered if I was missing something. > > > Script functions called from a cell cannot invoke > > services (classes) like MailApp or even Browser. > > You have to manually run them from the script editor > > or from a custom menu cmd you can create. > > Manually running functions is useless. When a value is changed > in a cell, other cells depending from this cells' value > via formula are changing automatically. This is default behavior > in a spreadsheet functionality. The documentation is not very clear. > > > There are only two automated solutions I can think of: > > > An easy, but weak, solution is to have a 'watcher' cell > > which, when your target cell hits a particular value, > > change the watcher cell background to red > > (via the Format/Change colors with rules... menu cmd) > > and display the text 'run SendWarning menu cmd' > > (which you would create as a custom menu cmd). > > Yes - obviously this is the only way but it is useless > in my case. > > > A hard way is to create a Google App Engine app that uses > > the cron service to run periodically and send Email when > > your taget cell hits a given value. > > I have not used this service, but it's described > > here:http://code.google.com/appengine/docs/python/config/cron.html > > This is definitely a complex way to do it. Not sure how reliable will > work and it is harder to test. > > > I wish Google would note limitations like this more clearly > > than the following statement on the Scripts Docs page: > > "These custom functions may only modify the value of the local cell. > > Any use of API methods that interact with Google products will result > > in an error." > > This is a good find. > > I am thinking a better solution is to program one of my servers here > locally to make what I need. > > This would be basically an email alert system. > > Up to now what I do is collecting information from various sources > and update the spreadsheet remotely periodically. > > Firstly made .NET application but it is too slow. > > Then I created a simple C language application accepting input > as a comma delimited file: > > ColumnName1,CellValue1,CellValue2... > ColumnName2,CellValue1,CellValue2... > ... > ColumnNameN,CellValue1,CellValue2... > > and filling columns down with values. It is much easier to work with > than with XML. You have to specify the Spreadsheet, Sheet Names > and that is all. This application is reading the configuration info, > column names, automatically generates the XML, calls GSheet, gets > XML values, parses them, extracts corresponding Spreadsheet Key, > Sheet Key, each Cell Version, then uses the comma delimited input > to form the Entries for batch update, the it is calling Gsheet to > make a batch update. > > Because it is in C language it is very fast. Additionally I optimized > it > with SIMD instructions for parallelization. > > I put together an old computer, installed Windows 7 and configured > the scheduler to run this application periodically. The old computers' > processor is from 1999 still the info to prepare 500 cells for > updating > is prepared for 30 Secs. > > Tested this on two Xeon processors' Dell server the same process > is running for 1 sec. > > It needs 30 secs the GSheet to update the 500 cells. Probably because > each cell is having a separate version string. Also before updating > a cell there is a need to call GSheet to get the feed. > > I can save additional cycles parsing the XML response and extracting > the new version numbers locally in a file. Then next time the > application > is running it can get the cells versions locally eliminating the feed > request. > > Making this running smoothly is not easy and I looked at GScript > if it can help in heavy lifting. But as I see it I have to add the > Alert part > running in my local server too. > > The bottom line is I will have this Alert application under my > control. > > From my experience with GSheets I am thinking it would be useful > to others and probably will make it available for public use. > > Constantine, > THStart.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Docs Data APIs" group. To post to this group, send email to Google-Docs-Data-APIs@googlegroups.com To unsubscribe from this group, send email to google-docs-data-apis+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Docs-Data-APIs?hl=en -~----------~----~----~----~------~----~------~--~---