[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/01/12(Thu) 17:36
投稿者名:ひろむ
Eメール:
URL :
タイトル:
リッチテキストボックスからエクセルへデータを渡すには?
ここののHPの
《カテゴリ別サンプル一覧》の
《Excel & Word関係》の
《Excelの指定のセルの文字列を個別に書式事取得しリッチテキストボックスに表示(2方法)》の
《2.1文字づつ書式情報を読み取って文末に追加書き込みする方法》
についての質問です。

ココでは、
エクセル→リッチテキストボックスへデータを渡していますが、
それの逆
リッチテキストボックス→エクセル
をやるにはどうしたらいいのでしょうか?

自分でもいろいろやってみたのですが、うまくいきません。
ご教授願います。

投稿時間:2006/01/12(Thu) 17:57
投稿者名:いな
Eメール:
URL :
タイトル:
Re: リッチテキストボックスからエクセルへデータを渡すには?
> ココでは、
> エクセル→リッチテキストボックスへデータを渡していますが、
> それの逆リッチテキストボックス→エクセル
> をやるにはどうしたらいいのでしょうか?

基本的には、左辺と右辺を入れ変えるだけのように思いますが、
どうやってます?

投稿時間:2006/01/13(Fri) 09:25
投稿者名:ひろむ
Eメール:
URL :
タイトル:
Re: こうやってみました。
    Dim i As Long
    Dim Co As Long
    Dim myRange As Excel.Range
    Set myRange = xlSheet.Range("A1")
    Dim n As Long

    n = xlSheet.Range("A1").Value
    For i = 1 To Len(RichTextBox1.Text)
        RichTextBox1.SelStart = n + i - 1
        RichTextBox1.SelLength = 1
        Co = RichTextBox1.SelColor
        With myRange
            .Characters(i, 1).Font.Color = RichTextBox1.SelColor
            .Characters(i, 1).Font.Bold = RichTextBox1.SelBold
            .Characters(i, 1).Font.Name = RichTextBox1.SelFontName
            .Characters(i, 1).Font.Size = RichTextBox1.SelFontSize
            .Characters(i, 1).Font.Italic = RichTextBox1.SelItalic
            If RichTextBox1.SelUnderline = False Then
                .Characters(i, 1).Font.Underline = xlUnderlineStyleNone
            Else
                .Characters(i, 1).Font.Underline = xlUnderlineStyleSingle
            End If
            .Characters(i, 1).Text = RichTextBox1.SelText
        End With
    Next i

    xlApp.Quit
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

右辺と左辺をいじってみました。
しかし、エクセルにはコピーされません。

投稿時間:2006/01/13(Fri) 09:56
投稿者名:いな
Eメール:
URL :
タイトル:
Re^2: こうやってみました。
> 右辺と左辺をいじってみました。
> しかし、エクセルにはコピーされません。

そこまで出来ているのであれば、
ステップ実行などで、何処に原因があるか調査できませんか?

設定すべきプロパティなどは一通り内容の確認できていますか?

投稿時間:2006/01/13(Fri) 10:33
投稿者名:YK
Eメール:
URL :
タイトル:
Re^2: こうやってみました。
こんにちは。

With myRange
.Characters(i, 1).Text = RichTextBox1.SelText <-- 最初に
でいいと思いますが、違っていたら失礼

投稿時間:2006/01/15(Sun) 12:25
投稿者名:ひろむ
Eメール:
URL :
タイトル:
解決しました。
いろんなアドバイスありがとうございます。
無事、リッチテキストボックスからエクセルにデータを移動させることができるようになりました。