• 締切済み

文字列の保存に関して

質問です。 保存と共有方法についてお聞きしします。私はいつもフォーム内では、 プログラム内で生成した文字列(例:テストhogehoge)を Dim hoge as string ------------------------------ Private Sub CheckBox4_Click(sender As Object, e As EventArgs) Handles CheckBox4.Click Dim Random As .... ←で生成した「テストhogehoge」 hoge = random end sub ------------------------------ と宣言しておいて、 生成された時に hoge = randam(生成した宣言) と保存して、 ソフトが起動中に、いつでも「テストhogehoge」をhogeという場所に 保存しているのですが、起動時にform1.vbで「テストhogehoge」を生成した時に 別フォーム(例: form2.vb)に dim hoge as string に文字列を 保存したいのですが、どうすればいいでしょうか? form2.hoge = random とやっても Null扱いになってしまい、困ってます。 またソフトウェア上での上記みたいな全てのフォームで 共有出来る方法があったら教えて下さい。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

これはVB(.NET系)の質問ですか。 > ←で生成した、 「テストhogehoge」とはどういうことですか。 Unix使いでよく使われるプログラマらしいhogehogeなんて書かずに、進行の手順に沿った書き方を踏んで、1歩ずつ記述を進めて、簡略化した1、2例を文章で書いて、どうしたいの書いてほしい。 2つのフォームモジュール間でテキスト変数情報を渡したいということか? あるいはフォームモジュールと標準モジュール間とか。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14372&forum=7 に類したようなこと?

関連するQ&A

  • [VB6]文字列でオブジェクトを指定する方法

    VB6でiniファイルからリードしたフォーム名を元に そのフォームをロードしたいのですが、出来ますでしょうか? 以下のソースで★ところのコメントがしたいのです。 '--------------- Type HogeType testform as Form caption as String End Type Dim FormTest(2) as HogeType Private Sub SetFormData() Set FormTest(0).testform = Form1 '★←ここを"Form1"とか文字列が格納された変数としたい。 FormTest(0).caption = "test1" End Sub Private Sub Main() FormTest(0).Show End Sub 以上、宜しくお願い致します。

  • サブフォームに変数を代入し、RecordSourceの値を取得したい

    サブフォームに変数を代入し、RecordSourceの値を取得したいのですがうまくいきません。 Sub test1() Dim サブフォーム As String Dim フォーム As String フォーム= "土台" サブフォーム = "フォーム1" MsgBox Form_フォーム1.RecordSource End Sub ******************************************************************* Sub test2() Dim サブフォーム As String Dim フォーム As String フォーム= "土台" サブフォーム = "フォーム1" MsgBox Form_フォーム1.RecordSource MsgBox Forms(フォーム).Controls(サブフォーム).RecordSource End Sub オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438) ******************************************************************* Sub test3() Dim サブフォーム As String Dim フォーム As String フォーム = "土台" サブフォーム = "フォーム1" MsgBox Forms(サブフォーム).RecordSource End Sub 実行時エラー'2450' マクロの式またはVisual Basic コート゛で参照されている 'フォーム名'フォームが見つかりません。 ******************************************************************* test1~3のうち test1のみはうまくいくのですが 変数を代入したいです。 ヘルフ゜のには Forms![受注]![受注サブフォーム].Formとなってますが これじゃ変数を代入できないですよね。 どうすればサブフォームに変数を代入しつつ、RecordSourceの値を取得できるのでしょうか? よろしくお願いします。

  • ユニークな文字列を順次, 生成する関数

    C++において, 適当な文字列を元に, ユニークな文字列を順次, 生成する関数を作りたいと思っています. (LISPで云う, 関数gensym()と似た役割を持つ関数です.) 例えば, "hoge"というstringを元に, "hoge0", "hoge1", "hoge4", "hoge8", "hoge100", ...., といったように, stringが互いに重複しないように, 適当な数字を連結した文字列を順次生成したいのです. 以下のように, 私なりの方法を考えてみたのですが, これだと, 今まで生成したstringを保存するhoge_setが必要になります. 何かより良い(シンプル, 効率的な)方法がありましたら, 教えていただけますでしょうか? よろしくお願い致します. (乱数を用いた方法) 1. 元となるstring型の変数nameを, "hoge" で初期化. 既に作成したstring文字列を保存する, set < string > hoge_setを宣言. 2. 乱数を生成し, それをnameにappendしたものを, string型の変数name2に代入. 3. 同じ文字列が存在したら, 2. に戻る. 同じ文字列が存在しなかったら, hoge_setに追加する.

  • 別のSubで宣言されている変数を別のSubで参照

    よろしくお願いいたします。 環境:Excel2003 以下のようなイメージで別Sub内で宣言された変数を同じ変数名で別のSub内で参照したいです。 Sub hoge() nn As Integer nn = 1 End Sub Sub hogehoge() MsgBox (nn) End Sub Sub hogehogehoge() Call hoge Call hogehoge End Sub エラーが発生する為、typeについて検索をかけてみました所、以下のような変数参照方法は出てきましたが、別のSubで宣言されている変数を同じ変数名で別のSub内で参照する方法はないでしょうか? Type PData    hoge As String    hogehoge As Long End Type Sub Sample1()    Dim Pppp(5) As PData End Sub よろしくお願いいたします。

  • Vb.netのグローバル変数の宣言の仕方の質問

    こんばんわ! VB6.0からの移行でVB.net2012に挑戦中なんですが、グローバル変数の宣言の仕方で分からないことがあり質問しに着ました! 内容 モジュール内で public hoge as string="aaa" と宣言するのと モジュール内で public hoge as string と宣言しておいて フォーム起動時に hoge="aaa" と宣言するのにどのような違いがあるのでしょうか? hogeの変数を変更したいのですが、上記の方法だと動いて、下記の方法だと動かないのですが・・・ まだ良く分かっていないので、程度の低い質問で申し訳ないのですが、アドバイスのほどよろしくお願いいたします。

  • 保存の仕方

    こんにちは、次のようなアドレスを入力するとそのソースを表示するプログラムを作ったのですがこれで表示されるソースに名前を付けて保存することってできますか?お願いします。 Private Sub Command1_Click() Dim strUrl As String Dim strBuf As String Command1.Enabled = False strUrl = InputBox("URLを入力して下さい.") If (Len(strUrl) = 0) Then Exit Sub End If Command1.Enabled = True strBuf = Inet1.OpenURL(strUrl) Form2.Show Form2.Text1.Text = strBuf End Sub Function Getsource() As String Dim strBuf As String Dim strUrl As String strBuf = Inet1.OpenURL(strUrl) 'ファイル内容を取得 Getsource = strBuf End Function

  • vb.netでオブジェクトの種類を知りたい

    こんばんわ vb.netでオブジェクトの種類を知る方法はないでしょうか? 例 form上にtextbox1を配置した上で 'メインルーチン public sub main() dim ret = test(textbox1) msgbox("textbox1は" & ret & "です") endsub 'サブルーチン public function test(obj) dim ret as string 'ここでobjがtextboxかcheckboxか判別したい return ret end function このようなことが可能でしょうか? 可能なようでしたらどうすればよいかご教授お願いします。

  • VB.NET Form1からForm2を開いたり閉じたりする方法

    VB.NET2005でForm1にあるCheckBoxをTrueにするとform2をモードレスフォームとして開き、CheckBoxをFalseにするとform2を閉じる方法がわかりません。また、form2の[×]で閉じた時にはForm1にあるCheckBoxをFalseにする方法がわかりません。 '----------------------------------- Private Sub CheckBox2_CheckedChanged ・・・   Dim f_cnt As Integer   Dim form2 As New Form2()   f_cnt = My.Application.OpenForms.Count   If CheckBox1.Checked = True Then     If f_cnt = 1 Then form1.Show() 'モードレスフォームとして表示する   Else    form2.Close() ←閉じない   End If End Sub '-----------------------------------

  • 整数→文字列の置換

    VB6の質問です。 ↓例で、REC変数を文字列の扱い(整数→文字列)にする方法はございますか? 宣言時の変数タイプは、変更したくありません。 宜しくお願いいたします。 Dim REC As Integer Private Sub test() As Integer  ・  ・  ・  ・ REC = '←処理結果をRECに入れる。RECには、文字列が挿入されます。 End Sub

  • 文字列を変数名として扱う方法

    vb6.0 か vb.net で文字列を変数名として扱うにはどうすればいいでしょうか? 例をあげると下記のようなことです。 -------------------- dim abc as string dim x as string abc = "テスト" x = "b" msgbox "a" & x & "c" -------------------- これをそのままvb6.0で実行すると"abc"という文字が表示されますが "abc"ではなく"テスト"と表示させたいのです。 つまり msgbox abc とした場合と同じようにしたいのですが可能でしょうか? ご存知の方教えてください。 よろしくお願いします。