Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Не работает макрос Облако тегов
 
Наткнулся в нете на готовый макрос для создания облака тегов в EXCEL, но на всех версиях программы выдаёт ошибку.
Подскажите, в чем проблема.

Файл прикрепляю.

Ссылка на страницу откуда был скачан, ниже:
http://www.clearlyandsimply.com/clearly_and_simply/2010/11/wordle-tag-clouds-in-microsoft-excel.html
 
Там не полный код.
1. На листе Webbrowser нет собственно ActiveX Microsoft Web Browser
3. Ссылка на Document для Webbrowser - Nothing. Для того чтобы была не пустая, нужно загрузить хотя бы пустую страницу "about:blank", например.

Ну и ещё может быть что
Изменено: anvg - 15 Май 2013 08:18:11 (Лишнего написал, не подумав.)
 
Цитата
anvg пишет:
К Range("myHTML") нельзя обращаться без указания листа
да ладно?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
да ладно?
В рамкамх
Цитата
UpdateTagCloud должна быть перенесена в модуль листа
Range("myHTML") без указания листа не будет работать так как имя myHTML присвоено ячейке на другом листе (проверено) ;)
 
А что нужно сделать, что-бы заставить этот файл работать, все-таки?
 
Цитата
anvg пишет:
Range("myHTML") без указания листа не будет работать так как имя myHTML присвоено ячейке на другом листе (проверено) )
Если область действия именованного диапазона Книга - то будет работать с любого листа без конкретного указания имени листа. Проверьте.

А область действия там именно Книга, так что никакой ошибки не будет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Hops Right
Код для UpdateTagCloud
Код
    Dim pWriter As Object, sName As String
    If Worksheets(1).WebBrowser1.Document Is Nothing Then
        sName = Environ$("TEMP") & "\tmp.htm"
        Set pWriter = CreateObject("Scripting.FileSystemObject").CreateTextFile(sName, True)
        pWriter.WriteLine "<html><head><title>tmp</title></head><body><p>&nbsp;</p></body></html>"
        pWriter.Close
        Worksheets(1).WebBrowser1.Navigate sName
        Worksheets(1).WebBrowser1.Refresh
    End If
    Worksheets(1).WebBrowser1.Document.Body.innerHTML = Range("myHTML").Value

Проверьте, есть ли компонент WebBrowser1 на первом по счёту листе
The_Prist
Цитата
Если область действия именованного диапазона Книга - то будет работать с любого листа без конкретного указания имени листа. Проверьте.
Не будет работать в модуле другого листа (в любом другом не содержащем именованную ячейку), так как неявно подразумевается Me.Range("myHTML").
Чтоб не быть голословным прикладываю пример
 
Да, не учел комментируемую строку.
Чтобы не менять в таком случае область действия обратиться можно так:
Код
Application.Range("myHTML").Value
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Читают тему (гостей: 1)