tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。