5

Excel で、アクセント記号付きの文字、カーリー クォートなどを含むセルの内容を、同じ文字の HTML、または音訳されたプレーンテキスト バージョンに変換するにはどうすればよいですか?

「高」文字を含む XLS ドキュメントがあります。データは DB 接続を介して取り込まれ、Excel は異なるコードページにある個々のセル (または行) を正しく処理しているようです。

このデータを CSV にエクスポートすると、一部の上位文字が正しくレンダリングされません。Excel はドキュメントに単一のエンコーディングを使用しているように見えます (もちろん)。同じドキュメント内の他の値と一致していること)。

Excel はエクスポート前にテキストを正しくレンダリングするので、この時点で大文字を HTML に対応するものにエンコードし、CSV にエクスポートして、CSV が ASCII のみであることを確認できるはずです。

(あるいは、単純な ASCII に音訳することもできますが、それは貧弱なアプローチのようで、おそらく簡単ではありません ...)

4

1 に答える 1

5

ここでトリックを行うように見えるpgc01による関数があります: http ://www.mrexcel.com/forum/showpost.php?p = 2091183&postcount = 7

うまくいけば、彼らのコードを引用しても大丈夫です:

Function CodeUni(s As String, Optional bHex As Boolean = True)
    If bHex Then
        CodeUni = Right("0000" & Hex(AscW(Left(s, 1))), 4)
    Else
        CodeUni = AscW(Left(s, 1))
    End If
End Function

それをExcelブックに取り込む方法がわからない場合は、このガイドが非常に役立ちます:http: //office.microsoft.com/en-us/excel-help/create-custom-functions-in-excel- 2007-HA010218996.aspx

要約すると:

  1. Alt + F11を押して、VBAエディターを起動します
  2. 挿入>モジュール
  3. 上記のコードを貼り付けます
  4. ワークシートで関数を使用してください!

それを適切なHTMLエンコードされたUnicodeエンティティとして取得するために、私は以下を使用しました。

="&#"&CodeUni(C1, TRUE)&";"

私のテストケースでは、C1にﻼがあり、E1では数式が&#FEFC;として表示されます。

于 2011-08-16T12:40:35.123 に答える