• ベストアンサー

ある変数の別のフォーム中での利用

Visual Basicに関する質問です。 あるフォーム(Form1)中で変数を定義しました(Public変数として)。 このフォーム中で変数に「適当な文字」を代入します。 この文字を別のフォーム(Form2)中にあるフレーム(Frame1)のキャプション(Frame1.Caption)に表示させる(引用する)にはどうすればよいのでしょうか? 基本的な質問ですが,よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

Frame1.Caption=Form1.変数名 で ダメかな? あとは、プロジェクト全体のグローバル変数として宣言するかですね。

cholerae
質問者

お礼

御教示,ありがとうございます。氏の回答をもとにして調べたところ,次のような形で問題が解決しました。 変数をグローバル変数として宣言し,あるフォーム(Form1)で定義した変数(x)を別のフォーム(Form2)のフレーム(Frame1)で表示させるために次の形式でコードを書きました。   Form2.Frame1.Caption = x

その他の回答 (1)

回答No.2

> あるフォーム(Form1)中で変数を定義しました(Public変数として)。 この変数を、標準モジュールの中でPublic変数として定義して下さい。

関連するQ&A

  • フォーム間での変数の受け渡し

    VB6で、例えばForm1からForm2を呼び出す際に、Form2のローカル変数へ値を渡すことは可能でしょうか? プロジェクト内のPublic変数にするしかないでしょうか? 基本的質問かもしれませんが、よろしくお願いします。

  • AccessVBAでの変数の使い方

    下記のような変数の使い方がAccessVBAでできれば 教えていただきたいと思います。 やりたい事は、変数を利用して、フォームやテーブ ル等を利用することです。 例.フォーム「名前1」の「ラベル1」のバリューを 「あいうえお」に変更 --------------------- Dim Class As String '変数に「名前1」を代入 Class = 名前1 'フォーム「名前1」の「ラベル1」の値を変更 Form_Class!ラベル1="あいうえお" --------------------- というように、変数を利用してフォームやテーブル を利用したいのです。 実際このようにすると、Form_Class がそのまま フォーム名ととらえられ、変数として機能しません でした。 宜しくお願いいたします。

  • ExcelVBA ユーザーフォームに関しての質問です。

    ExcelVBA ユーザーフォームに関しての質問です。 ユーザーフォームでフレームを使って、 フレーム内に複数のチェックボックスを配置したとします。 行いたい作業としては次の2点 ?フレーム内に配置したチェックボックスのうち、チェックが入っているものだけの数を調べる ?チェックが入っているボックスの値(caption)を取得して、変数に入れる 以上のことができるでしょうか?

  • サブフォームに変数を代入し、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の値を取得できるのでしょうか? よろしくお願いします。

  • visual studio 2008 professional edi

    visual studio 2008 professional edition でvisual basic6のプログラムを開く際に 1.バージョン 2.フォームのプロパティ 3.コントロールのプロパティ が書かれている部分で 「宣言が必要です」というエラーが出るのですが対処法が分かりません。 どなたか教えていただけないでしょうか? VERSION 5.00 Begin VB.Form Form1 Caption = "Form1" ClientHeight = 9510 ClientLeft = 390 ClientTop = 660 ClientWidth = 11100 LinkTopic = "Form1" ScaleHeight = 9510 ScaleWidth = 11100 Begin VB.Frame Frame10 Caption = "cfs number" Height = 1335 Left = 6600 TabIndex = 117 Top = 9840 Width = 1455 ........ と続きます。

  • C#でテキストボックスからstring変数に代入

    現在、Visual Studio 2019でC#勉強中です。 フォームアプリを作成していて、Hello worldができたので、そこからtextBox1の中に書かれた文字列を,stringで宣言したsという変数に代入しようとしたら、 string s = textBox1.Text; このようにすると、次のようなエラーが出てきてビルドが失敗します。 (エラー内容) エラー CS0236 フィールド初期化子は、静的でないフィールド、メソッド、またはプロパティ 'Form1.textBox1' を参照できません HelloWorldCS C:\Users\myname\source\repos\HelloWorldCS\Form1.cs 38 アクティブ このエラーの回避方法、そしてstring変数sへの代入方法を教えて頂きますよう、お願い致します。

  • テキストボックスに変数を表示させたい

    access2003です。 フォーム1にテキスト0を配置し vbaで Private Sub Form_Open(Cancel As Integer) Dim 文字列 As String 文字列 = "a" End Sub と作成しました。 このときフォーム1をダブルクリックして開いた時に テキスト0に文字列に代入した変数を表示させるにはどうすればいいのでしょうか? テキスト0のコントロールソースに =[文字列] とやっても #Name? になってしまいます。 どうすれば読み取った変数をテキスト0に表示させることが可能なのでしょうか? よろしくお願い致します。

  • エクセルのユーザーフォームについて教えてください。

    エクセルのユーザーフォームでマルチページを作りました。Captionに好きな文字を設定すればタブの表記が変わると思うのですが、テキストボックスの値と連動させて、変更するって出来るのでしょうか? 単純に代入が出来ないようなのですが???Page1.Caption = "いちご" としたら、怒られました。 試行錯誤したのですが?出来ません。 どなたか?詳しい方教えて頂けませんでしょうか? よろしくお願いいたします。

  • ExcelのVBA。public変数の値が消える

    VBAについて。Excelの2003や2007を使っています。標準モジュールで public 変数を定義しました。 ユーザーformを使い、パブリック変数に値を入れたり変更し、標準モジュールに戻ったとき、そのpabulic変数が resetされてしまっている事があります。全く同じマクロで、この現象が起こることと、起こらないことがあります。excelの2003でも2007でも、同じ現象が起こります。簡単なマクロで再現性のある具体的なものを示したいと思い、試しましたが、できませんでした。簡単なマクロでは、きちんとパブリック変数は保持されています。問題のあるマクロはかなり長いものなので、とても示せません。問題がどこにあるのかわかりません。このマクロで不都合があるという具体的なマクロを示すことができない状態での質問で、申し訳ありません。 また、このようなプログラミングをしていて思ったのですが、ユーザーフォームに対してユーザーが任意の引数を渡す方法あるいは、ユーザーフォームから引数を受け取る方法はあるのですか?今は、pubulic変数を用いたり、具体的なセルに値を代入したりしていますが、どう考えてもそれはエレガントではないし、汎用性もないと思います。引数で引き渡すのが一番綺麗でいいとは思うのですが、それが可能かどうかわかりません。

  • Form1からForm2へ変数を送る

    VBの初心者です。 下のようにコードを記述してみました。 ・Form1のdNameをForm2へ送り、ラベルに表示。 ・変数dNameは標準モジュールで定義。 **Form1** dName = delname.Text Form2.Show **Form2** Label.Caption = dName **標準モジュール** Dim dName As String しかし、ラベルにdNameの値が表示されません。 なにか良い解決策を教えてください。 あと、標準モジュールについてわかりやすく教えて下さい。

専門家に質問してみよう