No.1
- 回答日時:
あまり「特殊文字コード」とかいう名称好きじゃないんだよなー。
=============================
さておき、書くのが面倒なので概略だけ説明する。
'参照設定でMicrosoft XML,v6.0を追加しておく
'その関係で,実行環境にもコレが
'幅広い環境に対応するために遅延バインディングしたい?嫌だ。
Option Explicit
Sub Main()
'何故か俺の環境ではMSXML2.DOMDocument60ではうまくいかなかった。
Dim xml As MSXML2.DOMDocument30
Dim inputStr As String
Dim outputStr As String
'well-formedな場合にしか有効にならないので
'一気に渡さない方がいいかも(well-formedであると断言できる範囲まで)
'HTMLが嫌いで,使っているのがXMLなので,定義されている文字実体参照は限られている。(や¢は定義されていません)
'一応サンプルとして¢を定義してみた。
'実際にはentファイルを読み込むようなコードを書く事になるだろうが,文字列リテラルが長くなって見づらかったので回答では断念。(できるかどうか未検証)
inputStr = "<!DOCTYPE x [<!ENTITY cent ""¢""><!ELEMENT x (#PCDATA)> ]><x>㈱あ&&¢</x>"
Set xml = New MSXML2.DOMDocument30
xml.validateOnParse = True
xml.resolveExternals = True
xml.loadXML (inputStr)
MsgBox (xml.Text)
End Sub
No.2ベストアンサー
- 回答日時:
(1)参照設定で、"Microsoft HTML Object Library"をチェックする。
(2)以下のプログラムでデコード
Function Decode(ByVal Text) As String
Dim Doc As HTMLDocument
Set Doc = New HTMLDocument
Doc.body.innerHTML = Text
Decode = Doc.body.innerText
End Function
(3)テストコード
MsgBox Decode("<㈱&>")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- C言語・C++・C# S-JIS → JIS コード変換するには 3 2023/02/09 23:55
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Word(ワード) ワードで,特定の文字だけ,字体を一括変換する方法は? 1 2023/04/26 10:11
- Ruby 英数字を含む文字列(0-9,A-Z)の桁数圧縮をするには 5 2022/06/28 18:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0 特殊文字コードの変換
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
SNMP リンクダウンとノードダ...
-
昔Winnyってありましたけど、あ...
-
タグの有無の判定
-
Excel-VBAでXMLの複数ノードの...
-
UTF-8でエンコーディングとはど...
-
XML、XSLTの適応エラー(IEから...
-
C#で使用中のファイルに別のフ...
-
XPathで途中に名前空間が設定さ...
-
同じタグ名の項目取得
-
DOSコマンドラインからxmlファ...
-
VBAでXMLを出力するプログラム...
-
ツリービューの使い方が・・・
-
バッチファイルでテキストファ...
-
各ノードの行数取得
-
VB.NETで最後フォのフォ...
-
C#でtreeviewの指定ノードを選...
-
VB6でXMLを作成しているのです...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++によるDOMのプログラム:「L...
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
昔Winnyってありましたけど、あ...
-
バッチファイルでテキストファ...
-
XML、XSLTの適応エラー(IEから...
-
UTF-8でエンコーディングとはど...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
XMLファイル内のデータ(値)を変...
-
xmlファイルが上手にHTMLに変換...
-
同じタグ名の項目取得
-
ExcelVBAで書き出した文字が化ける
-
XPathで途中に名前空間が設定さ...
-
あるノードリストに、特定の名...
-
ノードとは
-
XMLで特殊文字を扱うにはどうし...
-
TreeView の初期表示について
-
Excel-VBAでXMLの複数ノードの...
おすすめ情報