プロが教えるわが家の防犯対策術!

VB.net2003とSPREAD for .NET Formsを使用して開発を行っています。

1つのプロジェクトに2つのフォームがあり、FormAのSPREADの内容をFormBから取得したいのですが、うまくいきません。

FormBのLoadイベントでFormAのSPREADの内容を取得するのに下記のようなコーディングを行ってみましたがだめでした。

Dim frmFormA As FormA = New FormA

txtText.Text = frmFormA.スプレッド名.ActiveSheet.Cells(frmFormA.スプレッド名.ActiveSheet.ActiveRowIndex,0).Value

別フォームのSPREADの内容を取得する方法を教えてください。

A 回答 (3件)

.Netなので、Newでインスタンスは必須ですね^^;



http://dobon.net/vb/dotnet/form/accessanotherfor …

ここら辺が参考になりませんか。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

教えていただいたHPの「所有されているフォームの取得
」を参考にやってみました。
FormAは開いたままなのでこの方法が一番簡単化と思い採用しました。
結果はうまくいきました。
別のフォームから内容を取得する方法はいろいろあるのですね。
他の方法はもうちょっとVB.NETに慣れてから挑戦しようと思います。

お礼日時:2005/09/07 16:44

お世話になります。



少し確認させていただきたいのですが,
・Dim frmFormA As FormA = New FormA
 をした時は,FormAはもう既にどこかで開いている状態ですか?

もし,開いていないのであれば,
・Dim frmFormA As FormA = New FormA
 とした時に,FormAのスプレッドシートに値が入るような処理がされていますか?
 (=Sub Newの中でそのような記述をしていますか?)
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

FormAは既に開かれている状態です。

フォーム間のデータ受渡しを行う方法はいろいろあるみたいですね。

とりあえず今回は、FormAからFormBを開く際にShowdialog(Me)とし、FormBでFormAを参照する際に下記のようにして見ました。

Dim frmFormA As FormA As Me.Owner

結果とりあえずうまくいきました。

お礼日時:2005/09/07 16:53

.Net環境がないので、憶測ですが。



>Dim frmFormA As FormA = New FormA
この「New」いらないのではないでしょうか?
これだと既存のFormAの参照ではなく新しいFormAを作ってしまうと思います。

VB6.0で言うところの、
Set frmFormA = New FormA

Set frmFormA = FromA
の違いかと。

ご参考とまで。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!