tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルMINUS SIGNのデータをコピー
記事No1801
投稿日: 2005/06/08(Wed) 14:35
投稿者はせどん
[OSのVer]:WindowsXP    [VBのVer]:VB.NET   2003

MINUS SIGN(−)が含まれるデータをコピーを下記のようにPG内で
加工しています。
クリップボードに貼り付けたデータをSystem.Object.Clipboardクラスで
確認すると、文字化けしてしまいます。
s.Replace(ChrW(8722), ChrW(65293))のようなリプレイスする
タイミングがありません。
どのような回避方法などありますでしょうか?

(例)シンコ−
Private Sub Button1_Click(・・・
    Dim data As IDataObject = Clipboard.GetDataObject()
    Debug.WriteLine(CType(data.GetData(DataFormats.Text), String))
End Sub

[ツリー表示へ]
タイトルRe: MINUS SIGNのデータをコピー
記事No1803
投稿日: 2005/06/08(Wed) 17:57
投稿者魔界の仮面弁士
>     Debug.WriteLine(CType(data.GetData(DataFormats.Text), String))

『Const MinusSign As Char = ChrW(&H2212)』の文字は、対応する
Shift_JIS の文字がありませんから、DataFormats.Text や DataFormats.OemText ではなく、
DataFormats.UnicodeText を使う必要があるのでは。

[ツリー表示へ]
タイトルありがとうございました。
記事No1805
投稿日: 2005/06/08(Wed) 19:30
投稿者はせどん
[OSのVer]:Windows    [VBのVer]:VB.NET  
> >     Debug.WriteLine(CType(data.GetData(DataFormats.Text), String))
>
> 『Const MinusSign As Char = ChrW(&H2212)』の文字は、対応する
> Shift_JIS の文字がありませんから、DataFormats.Text や DataFormats.OemText ではなく、
> DataFormats.UnicodeText を使う必要があるのでは。

魔界の仮面弁士さま、いつもお世話になっております。
ご指摘のとうり、Unicodeで取得することができました。
これで解決できそうです。

[ツリー表示へ]