tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルリッチテキストファイルの読む方法
記事No6590
投稿日: 2007/11/30(Fri) 17:49
投稿者ゆうき
初めて書き込む ゆうき と申します。

早速ですが質問です。

リッチテキストファイルの読み書きを実装したいのですが、できません。
これだとだめですか?

If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
  Using read As New StreamReader(OpenFileDialog1.FileName)
    RichTextBox1.Text = read.ReadToEnd
  End Using
End If

これをすると、普通のテキストファイルも読めません。
たぶん、「エンコードが・・・」とおっしゃられる方もいると思いますが、
指定すると、

エラー    1    これらの引数で呼び出される、アクセス可能な 'New' がないため、オーバーロードの解決に失敗しました:
    'Public Sub New(path As String, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'Boolean' の値を 'System.Text.Encoding' に変換できません。
    'Public Sub New(path As String, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'System.Text.Encoding' の値を 'Boolean' に変換できません。
    'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'String' の値を 'System.IO.Stream' に変換できません。
    'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'Boolean' の値を 'System.Text.Encoding' に変換できません。
    'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'System.Text.Encoding' の値を 'Boolean' に変換できません。    C:\Documents and Settings\*****\デスクトップ\*****\Form1.vb    96    19    ***********

といわれてできません。どうすればよいでしょうか。
ご指導よろしくお願いします。

[ツリー表示へ]
タイトルRe: リッチテキストファイルの読む方法
記事No6591
投稿日: 2007/11/30(Fri) 19:35
投稿者魔界の仮面弁士
> リッチテキストファイルの読み書きを実装したいのですが、できません。

RichTextBox1.LoadFile メソッドです。


> これをすると、普通のテキストファイルも読めません。
>     'Public Sub New(path As String, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'Boolean' の値を 'System.Text.Encoding' に変換できません。
>     'Public Sub New(path As String, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'System.Text.Encoding' の値を 'Boolean' に変換できません。
>     'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'String' の値を 'System.IO.Stream' に変換できません。
>     'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'Boolean' の値を 'System.Text.Encoding' に変換できません。
>     'Public Sub New(stream As System.IO.Stream, encoding As System.Text.Encoding, detectEncodingFromByteOrderMarks As Boolean)': 型 'System.Text.Encoding' の値を 'Boolean' に変換できません。    C:\Documents and Settings\*****\デスクトップ\*****\Form1.vb    96    19    ***********


んん……?
掲示板に投稿されたコード以外の箇所でエラーになっていませんか??


例えば、第2引数と第3引数を逆に指定してしまって
  Using read As New StreamReader(OpenFileDialog1.FileName, True, System.Text.Encoding.UTF8)
などとすれば、そのコンパイルエラーになるでしょうけれども、引数 1 個の
> Using read As New StreamReader(OpenFileDialog1.FileName)
であれば、そのようなコンパイルエラーにはならないはずですけれども。

[ツリー表示へ]
タイトルRe^2: リッチテキストファイルの読む方法
記事No6592
投稿日: 2007/12/01(Sat) 12:05
投稿者ゆうき

> RichTextBox1.LoadFile メソッドです。

すばらしい回答ありがとうございます。
読み込み方が間違っていたみたいですね。

これからもよろしくお願いします。

[ツリー表示へ]
タイトルRe^3: リッチテキストファイルの読む方法
記事No6593
投稿日: 2007/12/01(Sat) 12:17
投稿者ゆうき
ところで、リッチテキストボックスでふつうのtxtファイルは
読み込めないのでしょうか?

RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText)

こう読み込むと

ファイル形式が有効ではありません。

といわれてしまいます。
ここを変えればできそうな気がするのですが、わかりません。

よろしくお願いします。

[ツリー表示へ]
タイトルRe^4: リッチテキストファイルの読む方法
記事No6594
投稿日: 2007/12/01(Sat) 15:22
投稿者花ちゃん
> ところで、リッチテキストボックスでふつうのtxtファイルは
> 読み込めないのでしょうか?
>
> RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText)

ここのTips集の下記をご覧下さい。
http://hanatyan.sakura.ne.jp/dotnet/rich01.htm

[ツリー表示へ]
タイトルRe^5: リッチテキストファイルの読む方法
記事No6595
投稿日: 2007/12/01(Sat) 15:55
投稿者ゆうき
> ここのTips集の下記をご覧下さい。
>  http://hanatyan.sakura.ne.jp/dotnet/rich01.htm

回答ありがとうございます。解決しました。
サイト見不足でした。リッチテキストボックスの
項目があったんですね。
これからもご指導よろしくお願いします。

[ツリー表示へ]