Как вставить значение в текстовую область с помощью Excel VBA

#excel #vba #internet-explorer

#excel #vba #internet-explorer

Вопрос:

Я пытаюсь вставить значение в textarea поле с помощью автоматизации Excel, я провел много исследований, но не добился успеха.

Я использовал приведенные ниже сценарии.

 IE.document.all("content").Item.Value = "Hi"
IE.document.all("content").Value = "Hi"
IE.document.all("content").innerHtml = "Hi"
 

Ни один из примеров не работает.

Комментарии:

1. .Внутренний текст? я посмотрю

2. Почему вы используете document.all ? Это устарело и может не работать на сайте. Кроме того, является ли ваш селектор "content" именем класса? Если это так, вы можете искать что-то вроде IE.document.querySelector(".content").innerHTML = "Hi" . Добавьте свой HTML для лучшей ссылки.

3. Не могли бы вы, пожалуйста, предоставить соответствующий HTML-код, чтобы мы могли провести тест, чтобы узнать, как найти элемент? Кроме того, я согласен с Робертом, вы должны использовать другой css-селектор вместо document.all , он устарел .

4. Звучит хорошо, я добавлю комментарий в ответ, чтобы этот вопрос можно было решить.

Ответ №1:

Не используйте Document.all

Согласно mozilla document.all устарела с HTML5 и может не работать с вашим сайтом.

Эта функция больше не рекомендуется. Хотя некоторые браузеры все еще могут поддерживать его, оно может быть уже удалено из соответствующих веб-стандартов, может быть в процессе удаления или может быть сохранено только в целях совместимости. Избегайте его использования и обновите существующий код, если это возможно; . . .

Селекторы, которые вы можете использовать

Действительно, селекторами, которые хорошо использовать, будут .getElementById , .getElementsByClassName , .querySelector , и .querySelectorAll .

Решение с использованием правильного селектора

Я предпочитаю придерживаться querySelector и querySelectorAll .

Используя ваш пример, похоже, что вы пытаетесь захватить only textarea с классом контента, что-то вроде <textarea class="content"></textarea> .

Таким образом, этот пример будет выглядеть следующим образом

 IE.document.querySelector(".content").innerHTML = "Hi"
 

Комментарии:

1. спасибо, это работает. как я могу нажать на этот тип class> class=»btn btn-success» есть два класса, как нажать на

2. Отлично, если это отвечает на ваш вопрос, пожалуйста, отметьте его как ответ. Скорее всего, вам нужно будет использовать что-то большее, чем просто класс в этом экземпляре, поскольку btn btn-sucess , вероятно, это какая-то структура, такая как bootstrap, где классы используются повторно повсюду. С учетом сказанного, если это единственный элемент, то это будет что-то вроде document.querySelector(".btn.btn-success").Click

3. Вот список основных селекторов css, которые могут помочь вам W3Shools.com . Если у вас есть дополнительные дополнительные вопросы, то лучше всего задать эти новые вопросы в SO. Приветствия

Ответ №2:

Пожалуйста, попробуйте приведенный ниже код. Проверьте, работает ли это или нет. IE.document.all(«Содержимое»).Text= «Привет»

Или попробуйте добавить текстовые свойства в конце кода