タイトル | : クリップボードデータの文字化けについて |
記事No | : 8931 |
投稿日 | : 2009/05/12(Tue) 16:12 |
投稿者 | : take |
いつもお世話になります。
Windows XP SP3 Visual Basic Express Edition VB初心者です。
エクセルデータをクリップボードに取り込むところでつまずいてしまいました。 Excel2003で"XML Spreadsheet"という形式で取り込むと文字化けせずに取り込めるのですが、Excel2000にはこの形式がなく、仕方なくHTML形式で取り込むと日本語が文字化けしてしまいます。 罫線情報なども欲しいため、HTML形式で取り込みたいです。 テキストの変換なども調べて試してみたのですが、力不足でわかりませんでした。 どなたかご教示お願いできませんでしょうか。
Dim Cliphtml As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim ClipData As IDataObject = Clipboard.GetDataObject() 'クリップボードデータの取得 Dim CFTbl() As String = ClipData.GetFormats(False) For i As Integer = 0 To CFTbl.Length - 1 Select Case CFTbl(i) Case DataFormats.Html
Cliphtml = ClipData.GetData(DataFormats.GetFormat(CFTbl(i)).Name, False)
'************************************************ '* ここで適切に変換保存できるのでしょうか? * '************************************************
'My.Computer.FileSystem.WriteAllText("html.txt", Cliphtml, False)
End Select Next Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Try Dim SetClipData As New DataObject SetClipData.SetData(DataFormats.Html, False, Cliphtml) Clipboard.Clear() Clipboard.SetDataObject(SetClipData, True) Catch ex As Exception MsgBox(ex.Message) End Try End Sub
(エクセル範囲を選択し、Button1でクリップボードに取り込み、エクセルの選択を解除してからButton2でクリップボードにデータを登録し、貼り付けると文字化けしています。)
|