スプレッドの内容をフォームに表示するには?

解決


みけ  2008-04-16 10:03:21  No: 139547  IP: 192.*.*.*

スプレッドシートに入っている内容から選択した1行分のデータを別フォームのテキストボックス等の中に表示させたいんですが、

formA.Text1.Text = vaSPREAD()

こんな感じでスプレッドのデータを別フォームにもっていくことは可能でしょうか?
過去の質問も見ながら探しているところですが、わかる方がいたらよろしくお願いします。

編集 削除
みけ  2008-04-16 10:04:53  No: 139548  IP: 192.*.*.*

書き忘れましたが、使用ソフトはVB6です。

編集 削除
やじゅ  2008-04-16 11:39:52  No: 139549  IP: 192.*.*.*

スプレッドシートってグレープシティ社のでしょうか?
ヘルプやサンプルを見たほうがいいと思います。

編集 削除
みけ  2008-04-16 13:10:17  No: 139550  IP: 192.*.*.*

>スプレッドシートってグレープシティ社のでしょうか?

そうです。
まだ使いはじめたばかりなので、もう少し調べてみます。

編集 削除
みけ  2008-04-17 09:16:38  No: 139551  IP: 192.*.*.*

具体的な方法はまだわからないんですが、スプレッドの値を直接別フォームのテキストボックスに入れるのではなくて、クラスを作らないといけないというところまでわかりました。

編集 削除
matsu  2008-04-17 09:46:15  No: 139552  IP: 192.*.*.*

>具体的な方法はまだわからないんですが、スプレッドの値を直接別フォームのテキストボックスに入れるのではなくて、クラスを作らないといけないというところまでわかりました。

クラスを作らなくてもこんな感じで取得できませんか?
With formB.vaSPREAD
    .Row = .ActiveRow
    .Row2 = .Row
    .Col = 1
    .Col2 = .MaxCols
    'Tab区切りなのでTabを削除する
    formA.Text1.Text = Replace(.ClipValue, vbTab, "")
End With

編集 削除
みけ  2008-04-17 10:07:12  No: 139553  IP: 192.*.*.*

>matsu さん

ありがとうございます。

スプレッドで選択した1行6列のデータを列ごとに別々のテキストボックスに

表示させるという処理を書きたいんですが、上記のコード試してみます。

編集 削除
matsu  2008-04-17 10:45:33  No: 139554  IP: 192.*.*.*

>スプレッドで選択した1行6列のデータを列ごとに別々のテキストボックスに
>表示させるという処理を書きたいんですが、上記のコード試してみます。

別々のテキストボックスに表示させるのであれば、RowとColを指定して
それぞれのテキストボックスにValueプロパティの値を代入する必要があります。

With formB.vaSPREAD
    .Row = .ActiveRow
    .Col = 1
    formA.Text1.Text = .Value
    
    .Col = 2
    formA.Text2.Text = .Value
End With

編集 削除
みけ  2008-04-17 13:42:07  No: 139555  IP: 192.*.*.*

> matsu さん
ありがとうございます。
なんとか表示には成功しました。

選択した行が空だった場合にエラーメッセージを出したいので
その条件を考えているところです。

また質問するかもしれませんが、よろしくお願いします。

編集 削除
みけ  2008-04-17 13:43:07  No: 139556  IP: 192.*.*.*

レスくれた皆様ありがとうございました。

編集 削除