Loading
Ozgrid Excel Help & Best Practices Forums

Excel Training / Excel Dashboards Reports



Results 1 to 8 of 8

Thread: WebBrowser Design Issue: $10

  1. #1
    Join Date
    8th November 2011
    Posts
    23

    WebBrowser Design Issue: $10

    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.

    Excel Video Tutorials / Excel Dashboards Reports


  2. #2
    Join Date
    2nd March 2010
    Location
    God's Own Country
    Posts
    3,779

    Re: WebBrowser Design Issue: $10

    I'll have a look at this, and let you know if I would be able to help.

  3. #3
    Join Date
    2nd March 2010
    Location
    God's Own Country
    Posts
    3,779

    Re: WebBrowser Design Issue: $10

    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.

  4. #4
    Join Date
    8th November 2011
    Posts
    23

    Re: WebBrowser Design Issue: $10

    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.

    Excel Video Tutorials / Excel Dashboards Reports


  5. #5
    Join Date
    2nd March 2010
    Location
    God's Own Country
    Posts
    3,779

    Re: WebBrowser Design Issue: $10

    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.

  6. #6
    Join Date
    2nd March 2010
    Location
    God's Own Country
    Posts
    3,779

    Re: WebBrowser Design Issue: $10

    Awaiting the complete set of code....

  7. #7
    Join Date
    8th November 2011
    Posts
    23

    Re: WebBrowser Design Issue: $10

    Hi Sorry about not getting back to this until now. The following is the entirety of my Macro:

    Code:
    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
    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:

    Code:
    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
    Here is the code for the three necessary files:

    wc.css
    This simply sets the font size and color.

    Code:
    .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; }
    wcbackup3.js
    This code actually does work behind the generation of the tag cloud

    Code:
    /*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('');
      
    };
    jsapi
    This portion of the code I'm actually pretty confused about but hey it seems to work

    Code:
    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"}}});
    }

    Excel Video Tutorials / Excel Dashboards Reports


  8. #8
    Join Date
    2nd March 2010
    Location
    God's Own Country
    Posts
    3,779

    Re: WebBrowser Design Issue: $10

    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?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Possible Answers

  1. Disable WebBrowser Control on UserForm
    By HxF in forum EXCEL HELP
    Replies: 7
    Last Post: September 7th, 2006, 13:40
  2. WebBrowser Crashes Excel!
    By jwakeman in forum EXCEL HELP
    Replies: 6
    Last Post: March 29th, 2006, 04:30
  3. Add WebBrowser Control with VBA
    By jwakeman in forum EXCEL HELP
    Replies: 3
    Last Post: March 10th, 2006, 04:21

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
porno