Извлечение текста из набора = EMBED ("Forms.HTML: TextArea.1", "") в Excel - PullRequest
0 голосов
/ 03 мая 2011

У меня - у моего друга - есть электронная таблица Excel со смесью обычных текстовых и текстовых полей - она ​​была скопирована с веб-сайта где-то, она хочет, чтобы текст в текстовых областях отображался, а не в окнах.

Справка?

Выбор одного из текстовых полей / областей в представлении «Дизайн» показывает = EMBED ("Forms.HTML: TextArea.1", "") на панели формул.Они называются «Контроль 1», «Контроль 2» и т. Д.

Есть ли хороший способ заменить поля их текстом?Предположим немного VBA-совершенства, но я не могу понять, как узнать, в какой ячейке находится элемент управления, чтобы заменить себя… неверный путь полностью?

Спасибо,

Эми

Ответы [ 2 ]

0 голосов
/ 15 января 2019

В Excel 2013 мне пришлось внести небольшие изменения, чтобы заставить это работать. И я также хочу сказать СПАСИБО за это, это работало ОТЛИЧНО.

Sub Tester()
Dim o

    For Each o In ActiveSheet.OLEObjects
        If o.progID = "Forms.HTML:Text.1" Then
            Debug.Print o.Name, o.Object.Value, o.TopLeftCell.Address()
            'sometimes merged cells result from a HTML copy/paste,
            '  so don't just use .TopLeftCell to set the Value
            o.TopLeftCell.MergeArea.Value = o.Object.Value
            o.Delete
        End If
    Next o

End Sub
0 голосов
/ 04 мая 2011

Это может приблизить вас.

Sub Tester()
Dim o

    For Each o In ActiveSheet.OLEObjects
        If o.progID = "Forms.HTML:TextArea.1" Then
            Debug.Print o.Name, o.Object.Value, o.TopLeftCell.Address()
            'sometimes merged cells result from a HTML copy/paste,
            '  so don't just use .TopLeftCell to set the Value
            o.TopLeftCell.MergeArea.Value = o.Object.Value
            o.Delete
        End If
    Next o

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...