タイトル : クリップボードデータの文字化けについて 投稿日 : 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でクリップボードにデータを登録し、貼り付けると文字化けしています。) |