I'll have a look at this, and let you know if I would be able to help.
http://www.excelforum.com/excel-prog...92#post2707892
OK I've pasted the above URL here because the thread which I started kind of walks through the entire issue. Basically I have a macro which when run creates a new sheet labled "incident summary," places a WebBrowser control on the sheet, and is suppose to display a tag cloud created via some jscript code in the WebBrowser.
Unfortunately in order to get the tag cloud to display I must click on "Design Mode" button exactly twice and then voila it magically appears. I can provide the three bits of code necessary for the tag cloud creation if it is necessary to figure out this issue.
I tried recording myself clicking on the "Design Mode" button twice but the result was a blank macro for some reason. Please help, I want to just be done with this headache already.
I'll have a look at this, and let you know if I would be able to help.
Cheers,
S M C
Click To Read: How To Use Tags In Your Threads/Posts
Please take time to read Forum Rules before posting
Message to Cross Posters
Getting a bit late here. Wasn't able to work this out in a short time. Will be back in the morning. Until then, if anybody is interested, please go ahead.
Cheers,
S M C
Click To Read: How To Use Tags In Your Threads/Posts
Please take time to read Forum Rules before posting
Message to Cross Posters
Thank you for the interest in working on this. Look forward to hopefully finding a solution! Thanks a bunch and as I said please let me know if you need the files that the Tag Cloud generation runs off of.
Alright so I take it that you only face an issue with the design mode needing to be evoked twice. Can you please post the entire error free code, except for the design mode issue.
Cheers,
S M C
Click To Read: How To Use Tags In Your Threads/Posts
Please take time to read Forum Rules before posting
Message to Cross Posters
Awaiting the complete set of code....
Cheers,
S M C
Click To Read: How To Use Tags In Your Threads/Posts
Please take time to read Forum Rules before posting
Message to Cross Posters
Hi Sorry about not getting back to this until now. The following is the entirety of my Macro:
In order for this to work correctly and generate the tag cloud it requires three files to be kept within whatever folder you keep this workbook in. They are referenced within the macro here:VB:Sub MakeTable3() Dim CloudData As Range Dim Pt As PivotTable Dim strField As String Dim oDic As Object Dim varData Dim varItems Dim varKeys Dim n As Long Dim wksTable As Worksheet Dim lngTop5Count As Long Const cstrSHEET_NAME As String = "Incident Summary" On Error Resume Next ''Asks user to specify which column of data they wish to summarize 'Set CloudData = Application.InputBox("Please select a range with the incident information you wish to summarize.", _ ' "Specify Incident Information", Selection.Address, , , , , 8) Set CloudData = Selection On Error Goto err_handle Application.ScreenUpdating = False If Not CloudData Is Nothing Then Set oDic = CreateObject("Scripting.Dictionary") strField = Cells(1, CloudData.Column).Value With CloudData If .Row = 1 Then varData = .Resize(.Rows.Count - 1).Offset(1).Value Else varData = .Value End If End With For n = 1 To UBound(varData, 1) If Len(varData(n, 1)) > 0 Then oDic(CStr(varData(n, 1))) = Val(oDic(CStr(varData(n, 1)))) + 1 End If Next n If oDic.Count > 0 Then On Error Resume Next Application.DisplayAlerts = False Sheets(cstrSHEET_NAME).Delete Application.DisplayAlerts = True On Error Goto err_handle Set wksTable = Sheets.Add With wksTable .Name = cstrSHEET_NAME .Range("A1:B1").Value = Array(strField, "Total") varItems = oDic.Items varKeys = oDic.Keys If oDic.Count > 5 Then lngTop5Count = Application.Large(varItems, 5) Else lngTop5Count = 0 End If For n = LBound(varItems) To UBound(varItems) If varItems(n) >= lngTop5Count Then With .Cells(.Rows.Count, "A").End(xlUp).Offset(1) .Value = varKeys(n) .Offset(, 1).Value = varItems(n) End With End If Next n 'Sorts frequency table descending. With .Range("A1").CurrentRegion .Sort .Cells(1, 2), xlDescending End With End With End If End If ' ActiveSheet.OLEObjects.Add(ClassType:="Shell.Explorer.2", Link:=False, _ ' DisplayAsIcon:=False, Left:=383.25, Top:=45, Width:=324.75, Height:= _ ' 225).Select ' ActiveSheet.Shapes("WebBrowser1").ScaleWidth 1.480369515, msoFalse, _ ' msoScaleFromTopLeft ' ActiveSheet.Shapes("WebBrowser1").ScaleHeight 1.3966666667, msoFalse, _ ' msoScaleFromTopLeft With ActiveSheet.OLEObjects.Add(ClassType:="Shell.Explorer.2", Link:=False, _ DisplayAsIcon:=False, Left:=383.25, Top:=45, Width:=324.75, Height:= _ 225).ShapeRange .ScaleWidth 1.480369515, msoFalse, msoScaleFromTopLeft .ScaleHeight 1.3966666667, msoFalse, msoScaleFromTopLeft End With leave: Application.ScreenUpdating = True Call test(CloudData) Exit Sub err_handle: MsgBox Err.Description Resume leave End Sub Public Sub test(rng As Range) 'this subroutine produces a tag cloud and places it within the Web Browser contained 'on "Incident Summary" (cstrSHEET_NAME) worksheet. It does this by calling WordCloud 'subroutine which creates the tag cloud using a jscript file stored locally. 'WordCloud Selection WordCloud rng End Sub Sub WordCloud(rngInput As Range) Dim wbString As String Dim myFile As String Dim rngVar As Variant Dim fnum As Integer Dim i As Integer 'Set WordCloud = Selection rngVar = Application.Transpose(rngInput.Value) wbString = "<html>" & vbCr wbString = wbString & " <head>" 'wbString = wbString & " <link rel=""stylesheet"" type=""text/css"" href=""http://visapi-gadgets.googlecode.com/svn/trunk/wordcloud/wc.css""></script>" & vbCr 'wbString = wbString & " <script type=""text/javascript"" src=""http://visapi-gadgets.googlecode.com/svn/trunk/wordcloud/wc.js""></script>" & vbCr 'wbString = wbString & " <script type=""text/javascript"" src=""http://www.google.com/jsapi""></script>" & vbCr wbString = wbString & " <link rel=""stylesheet"" type=""text/css"" href=""wc.css""></script>" & vbCr wbString = wbString & " <script type=""text/javascript"" src=""wcbackup3.js""></script>" & vbCr wbString = wbString & " <script type=""text/javascript"" src=""jsapi""></script>" & vbCr wbString = wbString & " </head>" & vbCr wbString = wbString & " <body>" & vbCr wbString = wbString & " <div id=""wcdiv""></div>" & vbCr wbString = wbString & " <script type=""text/javascript"">" & vbCr wbString = wbString & " google.load('visualization', '1');" & vbCr wbString = wbString & " google.setOnLoadCallback(draw);" & vbCr wbString = wbString & " function draw() {" & vbCr wbString = wbString & " var data = new google.visualization.DataTable();" & vbCr wbString = wbString & " data.addColumn('string', 'Text1');" & vbCr wbString = wbString & " data.addRows(" & UBound(rngVar) & ");" & vbCr For i = 1 To UBound(rngVar) wbString = wbString & " data.setCell(" & i - 1 & ", 0,'" & rngVar(i) & "');" & vbCr Next i wbString = wbString & " var outputDiv = document.getElementById('wcdiv');" & vbCr wbString = wbString & " var wc = new WordCloud(outputDiv);" & vbCr wbString = wbString & " wc.draw(data, null);" & vbCr wbString = wbString & " }" & vbCr wbString = wbString & " </script>" & vbCr wbString = wbString & " </body>" & vbCr wbString = wbString & "</html>" myFile = ThisWorkbook.Path & "\WordCloud.htm" fnum = FreeFile() Open myFile For Output As fnum Print #fnum, wbString Close #fnum With Sheets("Incident Summary").OLEObjects("WebBrowser1").Object 'With Sheets("Incident Summary").WebBrowser1 .Silent = True .Navigate (myFile) ' Do ' DoEvents ' Loop Until .ReadyState = READYSTATE_COMPLETE Do DoEvents Loop While .Busy ' .Document.body.Scroll = "no" End With MsgBox "Macro Finished." End Sub
Here is the code for the three necessary files:VB:wbString = wbString & " <link rel=""stylesheet"" type=""text/css"" href=""wc.css""></script>" & vbCrwbString = wbString & " <script type=""text/javascript"" src=""wcbackup3.js""></script>" & vbCr wbString = wbString & " <script type=""text/javascript"" src=""jsapi""></script>" & vbCr
wc.css
This simply sets the font size and color.
wcbackup3.jsVB:.word-cloud {font-family: arial; font-size: 10px; } .word-cloud-1 {font-size: 12px; color: #00ff00; } .word-cloud-2 {font-size: 20px; color: #ffbf00; } .word-cloud-3 {font-size: 28px; color: #ffbf00; } .word-cloud-4 {font-size: 36px; color: #ff8000; } .word-cloud-5 {font-size: 42px; color: #ff8000; } .word-cloud-6 {font-size: 50px; color: #ff4000; } .word-cloud-7 {font-size: 58px; color: #ff4000; } .word-cloud-8 {font-size: 66px; color: #ff0000; } .word-cloud-9 {font-size: 72px; color: #ff0000; }
This code actually does work behind the generation of the tag cloud
jsapiVB:/*A list of words, where the size And color of each word Is determined by the number of times it appears In the text. Uses the Google Visalization API. Data Format Any number of rows And columns. All String values are concatenated, other column types are ignored. Configuration options: none Methods none Events none */ WordCloud = Function(container) { this.container = container; } //stopWords Array...to replace BLANK/NULL neccessary To have the backslash (\) As an escape character In order For replace To work WordCloud.stopWords= New Array(); WordCloud.stopWords[0] = ","; WordCloud.stopWords[1] = "-"; WordCloud.stopWords[2] = "noc"; WordCloud.stopWords[3] = "blank\/null"; // Add all word In a given text To a list And map. // list Is a list of unique words. // map Is a Set of all found words. /*Commented out WordCloud.addWords because all it does Is calls WordCloud.addWord WordCloud.addWords = Function(text, list, map) { WordCloud.addWord(text, list, map); }; */ // Add a single word To a list And map. // list Is a list of unique words. // map Is a Set of all found words. WordCloud.addWord = Function(text, list, map) { var wl = text.toLowerCase(); If (map[wl]) { map[wl]++; } Else { map[wl] = 1; list.push(text); } }; WordCloud.MIN_UNIT_SIZE = 1; WordCloud.MAX_UNIT_SIZE = 7; WordCloud.RANGE_UNIT_SIZE = WordCloud.MAX_UNIT_SIZE - WordCloud.MIN_UNIT_SIZE; WordCloud.prototype.draw = Function(data, options) { var wordMap = {}; var wordList = []; //for each row And column add one To the row And column counts For (var rowInd = 0; rowInd < data.getNumberOfRows(); rowInd++) { For (var colInd = 0; colInd < data.getNumberOfColumns(); colInd++) { //if the column data Is a String If (data.getColumnType(colInd) == 'string') { //Set the variable "CellContents" equal To the value of the columns/rows var CellContents = data.getValue(rowInd, colInd); //Convert all CellContents To lower Case capitalization CellContents = CellContents.toLowerCase(); //Globally replace all commas With "" (Nothing) i.e. remove them As To make seperation more easily discernable In the word cloud. For (i=0; i<=WordCloud.stopWords.length;i++) { MyRegExp = New RegExp(WordCloud.stopWords[i], "g"); CellContents = CellContents.replace(MyRegExp,""); } //The addwords of WordCloud are a Function of CellContents, wordList, And wordMap //WordCloud.addWords(CellContents, wordList, wordMap); WordCloud.addWord(CellContents, wordList, wordMap); } } } // Compute frequency range...set max = 0 And min = 999999? var minFreq = 999999; var maxFreq = 0; // For Each word In wordMap For (var word In wordMap) { //Set the variable f = wordMap Function (which Is a Function of word) var f = wordMap[word]; //Set minFreq equal To whichever Is less between minFreq And f minFreq = Math.min(minFreq, f); //Set maxFreq equal To whichever Is less between maxFreq And f maxFreq = Math.max(maxFreq, f); } //Set the variable "range" equal To the difference between maxFreq And minFreq var range = maxFreq - minFreq; //By setting range - To the max of range And 4, If the range Is less than 4 it will be Set To 4 range = Math.max(range, 4); // Idea: Add option To sort by text, freq Or no sort //create empy html variable var html = []; //Initiate HTML push html.push( '<div class="word-cloud">'); For (var i = 0; i < wordList.length; i++) { var word = wordList[i]; var text = word; var freq = wordMap[word.toLowerCase()]; var size = WordCloud.MIN_UNIT_SIZE + Math.round((freq - minFreq) / range * WordCloud.RANGE_UNIT_SIZE); html.push( '<span class="word-cloud-', size, '">', text, '</span> '); //Place a comma after the printed description As Long As it Is Not the last description If (i < wordList.length-1) { html.push( '<font size="7">,</font>'); } } //End HTML Push html.push( '</div>'); this.container.innerHTML = html.join( ''); };
This portion of the code I'm actually pretty confused about but hey it seems to work
VB:If(!window[ 'googleLT_']){window['googleLT_']=(new Date()).getTime();}if (!window['google']) {window['google'] = {}; } If (!window[ 'google']['loader']) { window[ 'google']['loader'] = {}; google.loader.ServiceBase = 'http://www.google.com/uds'; google.loader.GoogleApisBase = 'http://ajax.googleapis.com/ajax'; google.loader.ApiKey = 'notsupplied'; google.loader.KeyVerified = true; google.loader.LoadFailure = false; google.loader.Secure = false; google.loader.GoogleLocale = 'www.google.com'; google.loader.ClientLocation = {"latitude":38.96,"longitude":-77.337,"address":{"city":"Reston","region":"VA","country":"USA","country_code":"US"}}; google.loader.AdditionalParams = ''; (Function() {var d=void 0,g=!0,h=null,j=!1,k=encodeURIComponent,l=window,m=document;function n(a,b){return a.load=b}var p="push",q="replace",r="charAt",t="indexOf",u="ServiceBase",v="name",w="getTime",x="length",y="prototype",z="setTimeout",A="loader",B="substring",C="join",D="toLowerCase";function E(a){return a In F?F[a]:F[a]=-1!=navigator.userAgent[D]()[t](a)}var F={};function G(a,b){var c=Function(){};c.prototype=b[y];a.S=b[y];a.prototype=New c} Function H(a,b,c){var e=Array[y].slice.call(arguments,2)||[];return Function(){var c=e.concat(Array[y].slice.call(arguments));return a.apply(b,c)}}function I(a){a=Error(a);a.toString=Function(){return this.message};return a}function J(a,b){for(var c=a.split(/\./),e=l,f=0;f<c[x]-1;f++)e[c[f]]||(e[c[f]]={}),e=e[c[f]];e[c[c[x]-1]]=b}function K(a,b,c){a[b]=c}if(!L)var L=J;if(!M)var M=K;google[A].v={};L("google.loader.callbacks",google[A].v);var N={},O={};google[A].eval={};L("google.loader.eval",google[A].eval); n(google,Function(a,b,c){function e(a){var b=a.split(".");if(2<b[x])throw I("Module: '"+a+"' not found!");if("undefined"!=typeof b[1])f=b[0],c.packages=c.packages||[],c.packages[p](b[1])}var f=a,c=c||{};if(a instanceof Array||a&&"object"==typeof a&&"function"==typeof a[C]&&"function"==typeof a.reverse)For(var i=0;i<a[x];i++)e(a[i]);else e(a);if(a=N[":"+f]){c&&!c.language&&c.locale&&(c.language=c.locale);if(c&&"string"==typeof c.callback&&(i=c.callback,i.match(/^[[\]A-Za-z0-9._]+$/)))i=l.eval(i),c.callback= i;if((i=c&&c.callback!=h)&&!a.s(b))throw I("Module: '"+f+"' must be loaded before DOM onLoad!");i?a.m(b,c)?l[z](c.callback,0):a.load(b,c):a.m(b,c)||a.load(b,c)}else throw I("Module: '"+f+"' not found!");});L("google.load",google.load); google.R=Function(a,b){b?(0==P[x]&&(Q(l,"load",R),!E("msie")&&!E("safari")&&!E("konqueror")&&E("mozilla")||l.opera?l.addEventListener("DOMContentLoaded",R,j):E("msie")?m.write("<script defer onreadystatechange='google.loader.domReady()' src=//:><\/script>"):(E("safari")||E("konqueror"))&&l[z](T,10)),P[p](a)):Q(l,"load",a)};L("google.setOnLoadCallback",google.R); Function Q(a,b,c){if(a.addEventListener)a.addEventListener(b,c,j);else If(a.attachEvent)a.attachEvent("on"+b,c);else{var e=a["on"+b];a["on"+b]=e!=h?aa([c,e]):c}}function aa(a){return Function(){for(var b=0;b<a[x];b++)a[b]()}}var P=[];google[A].N=Function(){var a=l.event.srcElement;if("complete"==a.readyState)a.onreadystatechange=h,a.parentNode.removeChild(a),R()};L("google.loader.domReady",google[A].N);var ba={loaded:g,complete:g};function T(){ba[m.readyState]?R():0<P[x]&&l[z](T,10)} Function R(){for(var a=0;a<P[x];a++)P[a]();P.length=0}google[A].d=Function(a,b,c){if(c){var e;if("script"==a)e=m.createElement("script"),e.type="text/javascript",e.src=b;else If("css"==a)e=m.createElement("link"),e.type="text/css",e.href=b,e.rel="stylesheet";(a=m.getElementsByTagName("head")[0])||(a=m.body.parentNode.appendChild(m.createElement("head")));a.appendChild(e)}else"script"==a?m.write( '<script src="'+b+'" type="text/javascript"><\/script>'):"css"==a&&m.write('<link href="'+b+'" type="text/css" rel="stylesheet"></link>')}; L("google.loader.writeLoadTag",google[A].d);google[A].O=Function(a){O=a};L("google.loader.rfm",google[A].O);google[A].Q=Function(a){for(var b In a)"string"==typeof b&&b&&":"==b[r](0)&&!N[b]&&(N[b]=New U(b[B](1),a[b]))};L("google.loader.rpl",google[A].Q);google[A].P=Function(a){if((a=a.specs)&&a[x])For(var b=0;b<a[x];++b){var c=a[b];"string"==typeof c?N[":"+c]=New V(c):(c=New W(c[v],c.baseSpec,c.customSpecs),N[":"+c[v]]=c)}};L("google.loader.rm",google[A].P);google[A].loaded=Function(a){N[":"+a.module].l(a)}; L("google.loader.loaded",google[A].loaded);google[A].M=Function(){return"qid="+((New Date)[w]().toString(16)+Math.floor(1E7*Math.random()).toString(16))};L("google.loader.createGuidArg_",google[A].M);J("google_exportSymbol",J);J("google_exportProperty",K);google[A].b={};L("google.loader.themes",google[A].b);google[A].b.H="//www.google.com/cse/style/look/bubblegum.css";M(google[A].b,"BUBBLEGUM",google[A].b.H);google[A].b.J="//www.google.com/cse/style/look/greensky.css";M(google[A].b,"GREENSKY",google[A].b.J); google[A].b.I="//www.google.com/cse/style/look/espresso.css";M(google[A].b,"ESPRESSO",google[A].b.I);google[A].b.L="//www.google.com/cse/style/look/shiny.css";M(google[A].b,"SHINY",google[A].b.L);google[A].b.K="//www.google.com/cse/style/look/minimalist.css";M(google[A].b,"MINIMALIST",google[A].b.K);function V(a){this.a=a;this.o=[];this.n={};this.e={};this.f={};this.j=g;this.c=-1} V[y].g=Function(a,b){var c="";b!=d&&(b.language!=d&&(c+="&hl="+k(b.language)),b.nocss!=d&&(c+="&output="+k("nocss="+b.nocss)),b.nooldnames!=d&&(c+="&nooldnames="+k(b.nooldnames)),b.packages!=d&&(c+="&packages="+k(b.packages)),b.callback!=h&&(c+="&async=2"),b.style!=d&&(c+="&style="+k(b.style)),b.noexp!=d&&(c+="&noexp=true"),b.other_params!=d&&(c+="&"+b.other_params));if(!this.j){google[this.a]&&google[this.a].JSHash&&(c+="&sig="+k(google[this.a].JSHash));var e=[],f;for(f In this.n)":"==f[r](0)&&e[p](f[B](1)); For(f In this.e)":"==f[r](0)&&this.e[f]&&e[p](f[B](1));c+="&have="+k(e[C](","))}return google[A][u]+"/?file="+this.a+"&v="+a+google[A].AdditionalParams+c};V[y].t=Function(a){var b=h;a&&(b=a.packages);var c=h;if(b)If("string"==typeof b)c=[a.packages];else If(b[x]){c=[];for(a=0;a<b[x];a++)"string"==typeof b[a]&&c[p](b[a][q](/^\s*|\s*$/,"")[D]())}c||(c=["default"]);b=[];for(a=0;a<c[x];a++)this.n[":"+c[a]]||b[p](c[a]);return b}; n(V[y],Function(a,b){var c=this.t(b),e=b&&b.callback!=h;if(e)var f=New X(b.callback);for(var i=[],o=c[x]-1;0<=o;o--){var s=c[o];e&&f.A(s);if(this.e[":"+s])c.splice(o,1),e&&this.f[":"+s][p](f);else i[p](s)}if(c[x]){b&&b.packages&&(b.packages=c.sort()[C](","));for(o=0;o<i[x];o++)s=i[o],this.f[":"+s]=[],e&&this.f[":"+s][p](f);if(!b&&O[":"+this.a]!=h&&O[":"+this.a].versions[":"+a]!=h&&!google[A].AdditionalParams&&this.j){c=O[":"+this.a];google[this.a]=google[this.a]||{};for(var S In c.properties)S&&":"== S[r](0)&&(google[this.a][S[B](1)]=c.properties[S]);google[A].d("script",google[A][u]+c.path+c.js,e);c.css&&google[A].d("css",google[A][u]+c.path+c.css,e)}else(!b||!b.autoloaded)&&google[A].d("script",this.g(a,b),e);if(this.j&&(this.j=j,this.c=(New Date)[w](),1!=this.c0))this.c=-1;for(o=0;o<i[x];o++)s=i[o],this.e[":"+s]=g}}); V[y].l=Function(a){if(-1!=this.c)ca("al_"+this.a,"jl."+((New Date)[w]()-this.c),g),this.c=-1;this.o=this.o.concat(a.components);google[A][this.a]||(google[A][this.a]={});google[A][this.a].packages=this.o.slice(0);for(var b=0;b<a.components[x];b++){this.n[":"+a.components[b]]=g;this.e[":"+a.components[b]]=j;var c=this.f[":"+a.components[b]];if(c){for(var e=0;e<c[x];e++)c[e].B(a.components[b]);delete this.f[":"+a.components[b]]}}};V[y].m=Function(a,b){return 0==this.t(b)[x]};V[y].s=Function(){return g}; Function X(a){this.D=a;this.q={};this.r=0}X[y].A=Function(a){this.r++;this.q[":"+a]=g};X[y].B=Function(a){this.q[":"+a]&&(this.q[":"+a]=j,this.r--,0==this.r&&l[z](this.D,0))};function W(a,b,c){this.name=a;this.C=b;this.p=c;this.u=this.h=j;this.k=[];google[A].v[this[v]]=H(this.l,this)}G(W,V);n(W[y],Function(a,b){var c=b&&b.callback!=h;c?(this.k[p](b.callback),b.callback="google.loader.callbacks."+this[v]):this.h=g;(!b||!b.autoloaded)&&google[A].d("script",this.g(a,b),c)});W[y].m=Function(a,b){return b&&b.callback!=h?this.u:this.h};W[y].l=Function(){this.u=g;for(var a=0;a<this.k[x];a++)l[z](this.k[a],0);this.k=[]}; var Y=Function(a,b){return a.string?k(a.string)+"="+k(b):a.regex?b[q](/(^.*$)/,a.regex):""};W[y].g=Function(a,b){return this.F(this.w(a),a,b)}; W[y].F=Function(a,b,c){var e="";a.key&&(e+="&"+Y(a.key,google[A].ApiKey));a.version&&(e+="&"+Y(a.version,b));b=google[A].Secure&&a.ssl?a.ssl:a.uri;if(c!=h)For(var f In c)a.params[f]?e+="&"+Y(a.params[f],c[f]):"other_params"==f?e+="&"+c[f]:"base_domain"==f&&(b="http://"+c[f]+a.uri[B](a.uri[t]("/",7)));google[this[v]]={};-1==b[t]("?")&&e&&(e="?"+e[B](1));return b+e};W[y].s=Function(a){return this.w(a).deferred};W[y].w=Function(a){if(this.p)For(var b=0;b<this.p[x];++b){var c=this.p[b];if(RegExp(c.pattern).test(a))return c}return this.C};function U(a,b){this.a=a;this.i=b;this.h=j}G(U,V);n(U[y],Function(a,b){this.h=g;google[A].d("script",this.g(a,b),j)});U[y].m=Function(){return this.h};U[y].l=Function(){};U[y].g=Function(a,b){if(!this.i.versions[":"+a]){if(this.i.aliases){var c=this.i.aliases[":"+a];c&&(a=c)}if(!this.i.versions[":"+a])throw I("Module: '"+this.a+"' with version '"+a+"' not found!");}return google[A].GoogleApisBase+"/libs/"+this.a+"/"+a+"/"+this.i.versions[":"+a][b&&b.uncompressed?"uncompressed":"compressed"]}; U[y].s=Function(){return j};var da=j,Z=[],ea=(New Date)[w](),ca=Function(a,b,c){da||(Q(l,"unload",fa),da=g);if(c){if(!google[A].Secure&&(!google[A].Options||google[A].Options.csi===j))a=a[D]()[q](/[^a-z0-9_.]+/g,"_"),b=b[D]()[q](/[^a-z0-9_.]+/g,"_"),l[z](H($,h,"//gg.google.com/csi?s=uds&v=2&action="+k(a)+"&it="+k(b)),1E4)}else Z[p]("r"+Z[x]+"="+k(a+(b?"|"+b:""))),l[z](fa,5<Z[x]?0:15E3)},fa=Function(){if(Z[x]){var a=google[A][u];0==a[t]("http:")&&(a=a[q](/^http:/,"https:"));$(a+"/stats?"+Z[C]("&")+"&nc="+(New Date)[w]()+"_"+ ((New Date)[w]()-ea));Z.length=0}},$=Function(a){var b=New Image,c=$.G++;$.z[c]=b;b.onload=b.onerror=Function(){delete $.z[c]};b.src=a;b=h};$.z={};$.G=0;J("google.loader.recordStat",ca);J("google.loader.createImageForLogging",$); }) ();google.loader.rm({"specs":["feeds","spreadsheets","gdata","visualization",{"name":"sharing","baseSpec":{"uri":"http://www.google.com/s2/sharing/js","ssl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":false,"params":{"language":{"string":"hl"}}}},"search","orkut","ads","elements",{"name":"books","baseSpec":{"uri":"http://books.google.com/books/api.js","ssl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"},"language":{"string":"hl"}}}},{"name":"friendconnect","baseSpec":{"uri":"http://www.google.com/friendconnect/script/friendconnect.js","ssl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":false,"params":{}}},"identitytoolkit","ima",{"name":"maps","baseSpec":{"uri":"http://maps.google.com/maps?file\u003dgoogleapi","ssl":"https://maps-api-ssl.google.com/maps?file\u003dgoogleapi","key":{"string":"key"},"version":{"string":"v"},"deferred":true,"params":{"callback":{"regex":"callback\u003d$1\u0026async\u003d2"},"language":{"string":"hl"}}},"customSpecs":[{"uri":"http://maps.googleapis.com/maps/api/js","ssl":"https://maps.googleapis.com/maps/api/js","version":{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"},"language":{"string":"hl"}},"pattern":"^(3|3..*)$"}]},"payments","wave","annotations_v2","earth","language",{"name":"annotations","baseSpec":{"uri":"http://www.google.com/reviews/scripts/annotations_bootstrap.js","ssl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"},"language":{"string":"hl"},"country":{"string":"gl"}}}},"picker"]}); google.loader.rfm({":search":{"versions":{":1":"1",":1.0":"1"},"path":"/api/search/1.0/c635244b28d6c397d2d5ccc22fd3126d/","js":"default+en.I.js","css":"default+en.css","properties":{":JSHash":"c635244b28d6c397d2d5ccc22fd3126d",":NoOldNames":false,":Version":"1.0"}},":language":{"versions":{":1":"1",":1.0":"1"},"path":"/api/language/1.0/57e8a5e8a66c850696b5c616d4a4fdb1/","js":"default+en.I.js","properties":{":JSHash":"57e8a5e8a66c850696b5c616d4a4fdb1",":Version":"1.0"}},":feeds":{"versions":{":1":"1",":1.0":"1"},"path":"/api/feeds/1.0/efe8f95c5756111c3e36c06dab50fd12/","js":"default+en.I.js","css":"default+en.css","properties":{":JSHash":"efe8f95c5756111c3e36c06dab50fd12",":Version":"1.0"}},":spreadsheets":{"versions":{":0":"1",":0.4":"1"},"path":"/api/spreadsheets/0.4/87ff7219e9f8a8164006cbf28d5e911a/","js":"default.I.js","properties":{":JSHash":"87ff7219e9f8a8164006cbf28d5e911a",":Version":"0.4"}},":ima":{"versions":{":1":"1",":1.7":"1"},"path":"/api/ima/1.7/9fd415db3bb953707e811e4827fe957b/","js":"default.I.js","properties":{":JSHash":"9fd415db3bb953707e811e4827fe957b",":Version":"1.7"}},":wave":{"versions":{":1":"1",":1.0":"1"},"path":"/api/wave/1.0/3b6f7573ff78da6602dda5e09c9025bf/","js":"default.I.js","properties":{":JSHash":"3b6f7573ff78da6602dda5e09c9025bf",":Version":"1.0"}},":annotations":{"versions":{":1":"1",":1.0":"1"},"path":"/api/annotations/1.0/ad1565d879cca9982c9467668024f1ac/","js":"default+en.I.js","properties":{":JSHash":"ad1565d879cca9982c9467668024f1ac",":Version":"1.0"}},":earth":{"versions":{":1":"1",":1.0":"1"},"path":"/api/earth/1.0/109c7b2bae7fe6cc34ea875176165d81/","js":"default.I.js","properties":{":JSHash":"109c7b2bae7fe6cc34ea875176165d81",":Version":"1.0"}},":picker":{"versions":{":1":"1",":1.0":"1"},"path":"/api/picker/1.0/b7e9eb7fd8c0e098a7173ce367b2b5c1/","js":"default.I.js","css":"default.css","properties":{":JSHash":"b7e9eb7fd8c0e098a7173ce367b2b5c1",":Version":"1.0"}}}); google.loader.rpl({":scriptaculous":{"versions":{":1.8.3":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.9.0":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.2":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.1":{"uncompressed":"scriptaculous.js","compressed":"scriptaculous.js"}},"aliases":{":1.8":"1.8.3",":1":"1.9.0",":1.9":"1.9.0"}},":yui":{"versions":{":2.6.0":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.9.0":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.7.0":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.8.0r4":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.8.2r1":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":2.8.1":{"uncompressed":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"},":3.3.0":{"uncompressed":"build/yui/yui.js","compressed":"build/yui/yui-min.js"}},"aliases":{":3":"3.3.0",":2":"2.9.0",":2.7":"2.7.0",":2.8.2":"2.8.2r1",":2.6":"2.6.0",":2.9":"2.9.0",":2.8":"2.8.2r1",":2.8.0":"2.8.0r4",":3.3":"3.3.0"}},":swfobject":{"versions":{":2.1":{"uncompressed":"swfobject_src.js","compressed":"swfobject.js"},":2.2":{"uncompressed":"swfobject_src.js","compressed":"swfobject.js"}},"aliases":{":2":"2.2"}},":ext-core":{"versions":{":3.1.0":{"uncompressed":"ext-core-debug.js","compressed":"ext-core.js"},":3.0.0":{"uncompressed":"ext-core-debug.js","compressed":"ext-core.js"}},"aliases":{":3":"3.1.0",":3.0":"3.0.0",":3.1":"3.1.0"}},":webfont":{"versions":{":1.0.2":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.1":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.0":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.19":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.6":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.18":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.5":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.17":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.4":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.16":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.3":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.9":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.21":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.12":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.22":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.13":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.14":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.15":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.23":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.10":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"},":1.0.11":{"uncompressed":"webfont_debug.js","compressed":"webfont.js"}},"aliases":{":1":"1.0.23",":1.0":"1.0.23"}},":mootools":{"versions":{":1.2.3":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.3.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.1.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.4":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.3.0":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.3.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.2.5":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.4.0":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.1.2":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.4.1":{"uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"}},"aliases":{":1":"1.1.2",":1.11":"1.1.1",":1.4":"1.4.1",":1.3":"1.3.2",":1.2":"1.2.5",":1.1":"1.1.2"}},":jqueryui":{"versions":{":1.6.0":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.0":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.2":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.1":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.9":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.15":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.14":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.7":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.13":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.8":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.12":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.11":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.2":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.5":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.3":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.10":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.6":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.0":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.7.1":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.4":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.5.3":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.5.2":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"},":1.8.16":{"uncompressed":"jquery-ui.js","compressed":"jquery-ui.min.js"}},"aliases":{":1.8":"1.8.16",":1.7":"1.7.3",":1.6":"1.6.0",":1":"1.8.16",":1.5":"1.5.3",":1.8.3":"1.8.4"}},":chrome-frame":{"versions":{":1.0.2":{"uncompressed":"CFInstall.js","compressed":"CFInstall.min.js"},":1.0.1":{"uncompressed":"CFInstall.js","compressed":"CFInstall.min.js"},":1.0.0":{"uncompressed":"CFInstall.js","compressed":"CFInstall.min.js"}},"aliases":{":1":"1.0.2",":1.0":"1.0.2"}},":jquery":{"versions":{":1.6.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.4":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.6.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.2.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.7.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.7.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.2.6":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.4":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.5.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.5.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.0":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.5.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.4.2":{"uncompressed":"jquery.js","compressed":"jquery.min.js"}},"aliases":{":1.7":"1.7.1",":1.6":"1.6.4",":1":"1.7.1",":1.5":"1.5.2",":1.4":"1.4.4",":1.3":"1.3.2",":1.2":"1.2.6"}},":dojo":{"versions":{":1.3.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.1.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.3.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.6.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.3.2":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.6.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.2.3":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.4.3":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.5.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.5.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.2.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.4.0":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.4.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"}},"aliases":{":1":"1.6.1",":1.6":"1.6.1",":1.5":"1.5.1",":1.4":"1.4.3",":1.3":"1.3.2",":1.2":"1.2.3",":1.1":"1.1.1"}},":prototype":{"versions":{":1.7.0.0":{"uncompressed":"prototype.js","compressed":"prototype.js"},":1.6.0.2":{"uncompressed":"prototype.js","compressed":"prototype.js"},":1.6.1.0":{"uncompressed":"prototype.js","compressed":"prototype.js"},":1.6.0.3":{"uncompressed":"prototype.js","compressed":"prototype.js"}},"aliases":{":1.7":"1.7.0.0",":1.6.1":"1.6.1.0",":1":"1.7.0.0",":1.6":"1.6.1.0",":1.7.0":"1.7.0.0",":1.6.0":"1.6.0.3"}}}); }
I can probably make those three files myself and keep it with the workbook, but it seems I may need the range of cells / column data that needs to be summarized. I'll send you my email id via PM. Can you send me all the 4 files?
Cheers,
S M C
Click To Read: How To Use Tags In Your Threads/Posts
Please take time to read Forum Rules before posting
Message to Cross Posters
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks