Texte HTML avec des balises de texte mis en forme dans une cellule Excel
Est-il un moyen de prendre en HTML et importation vers excel de sorte qu'il est formaté en texte enrichi (de préférence à l'aide de VBA)? En gros, quand je colle à une cellule Excel, je suis à la recherche pour transformer ceci:
<html><p>This is a test. Will this text be <b>bold</b> or <i>italic</i></p></html>
dans cette:
Ceci est un test. Sera-ce texte en gras ou italique
Vous devez vous connecter pour publier un commentaire.
Oui c'est possible 🙂 En fait laisser Internet Explorer faire le sale boulot pour vous 😉
ESSAYÉ ET TESTÉ
MES HYPOTHÈSES
CODE
INSTANTANÉ
HTH
Sid
execCommand "Copy"
ligne, je soupçonne que c'est parce que j'ai IE11 installé qui ne le supporte pas.Vous pouvez copier le code HTML dans le presse-papiers et collez spécial de retour en tant que texte Unicode. Excel va rendre le code HTML dans la cellule. Découvrez ce post http://www.dailydoseofexcel.com/archives/2005/02/23/html-in-cells-ii/
La macro en question le code du poste:
FM20.DLL
dans Outils..Références pour obtenir de l'DataObject
disponibles à partir de "Microsoft Forms 2.0 Object Library". Ensuite, j'ai eu un problème avecMe.PasteSpecial
tant qu'il ne M'aime pas (pas de blagues s'il vous plaît).Target.PasteSpecial
a donné une erreur, maisSheets(1).Range("B51").PasteSpecial
a fait un travail. Et j'ai renoncé à essayer d'obtenir le coller dans une cellule fusionnée, n'ont qu'à utiliser libéral jets de balises BR dans mon configuré HTML pour forcer des sauts de ligne pour contrôler la largeur de la sortie.Si le IE exemple ne fonctionne pas l'utiliser. De toute façon, cela devrait être plus rapide que de partir
d'une instance de IE.
Ici est une solution complète basée sur
http://www.dailydoseofexcel.com/archives/2005/02/23/html-in-cells-ii/
Remarque, si votre innerHTML est tous les numéros eg '12345', la mise en forme HTML
ne marche pas bien travailler dans excel comme il traite nombre différemment? mais d'ajouter un personnage par exemple
un espace de fin à la fin par exemple. 12345 + "& nbsp;" formats ok.
sht.PasteSpecial Format:="Unicode-Text"
. Pour les autres localisations, enregistrer le collage Spécial (ou Coller) action une fois dans une macro.Je sais que ce fil est ancien, mais après l'affectation de l'innerHTML, ExecWB fonctionné pour moi:
HTML:
Et ensuite il suffit de coller le contenu dans Excel. Puisque ces méthodes sont sujettes à des erreurs d'exécution, mais le travail de l'amende, après un ou deux essais en mode de débogage, vous pourriez avoir à dire à Excel pour essayer à nouveau, s'il s'agit d'une erreur. J'ai résolu ce problème en ajoutant ce gestionnaire d'erreur pour le sub, et il fonctionne très bien:
HTML:
J'ai couru dans la même erreur que BornToCode d'abord identifié dans les commentaires de la solution d'origine. D'être familier avec Excel et VBA, il m'a fallu une seconde pour comprendre comment mettre en œuvre tiQU de la solution. Donc, je vais l'afficher comme un "Pour les Nuls" solution ci-dessous
Sympa! Très lisse.
J'ai été déçu que Excel ne nous permet pas de coller à une cellule fusionnée et aussi les pâtes de résultats contenant une rupture dans les lignes successives au-dessous de la cellule "cible" bien, puisque cela signifiait qu'il n'a tout simplement pas de travail pour moi. J'ai essayé un peu de bricolage (désinstaller/réinstaller toutes, etc.) mais alors, Excel chuté rien en dessous d'une pause, de sorte que c'était une impasse.
En fin de compte, je suis venu avec une routine qui va gérer les tags simples et ne pas utiliser les "indigènes" Unicode converter qui est à l'origine du problème avec les champs de fusion. Espérons que d'autres trouvent cela utile:
Noter que ce n'est pas pour la balise de nidification, la place en ne nécessitant qu'une balise de fermeture pour chaque balise d'ouverture, et en supposant que la balise de fermeture plus proche de la balise d'ouverture s'applique à la balise d'ouverture. Correctement les balises imbriquées va travailler très bien, tandis que mal balises imbriquées ne sera pas rejeté et peut ou peut ne pas fonctionner.
De mettre HTML/Word dans un fichier Excel de la Forme et de le localiser sur une Cellule Excel:
De cette façon, même en HTML avec des tableaux et d'autres choses de ne pas obtenir divisée en de multiples cellules.