- ベストアンサー
frm型への代入の仕方について
仕事でVisual Basicをつかっているのですが、一点質問があります。 frm型で宣言されたfrmTestに実際VBPに存在するForm1というのは、 Dim frmTest As Form Set frmTest = Form1 でセットすることができたのですが、 私がしたいことは、 Form1の部分を流動的に変更できるように、文字型の変数に置き換えたいのです。 Dim strForm As String Dim frmTest As Form strForm = "Form1" Set frmTest = strForm といったような事をしたいのですが、うまくいきません。 何か良い方法をご存知の方がいらっしゃいましたら、教えてください。よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
![noname#22222](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_100_4.gif)
その他の回答 (4)
関連するQ&A
- サブフォームに変数を代入し、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の値を取得できるのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Setup1.vbp の Setup1.frmとは
WindowsXPなどにダブル バイト文字のユーザー名などでログインした後、ディストリビューションウィザードで作成したセットアップ(Vb6.0で作成)を実行しようとすると「Path or File Not Found」とメッセージが出てインストールできないため、困っております。 解決策をマイクロソフト サポート技術情報で見つけたのですが、 「Setup1.vbp において Setup1.frm の Form_Loadイベントを以下のようにカスタマイズすることで回避できます。 修正前: '使用する一時ディレクトリを取得します。 gsTEMPDIR = String$(255, 0) lChar = GetTempPath(255, gsTEMPDIR)・・ 修正後: '使用する一時ディレクトリを取得します。 gsTEMPDIR = String$(255, 0) lChar = GetTempPath(255, gsTEMPDIR・・」 (マイクロソフト サポート技術情報 - 416585 http://support.microsoft.com/default.aspx?scid=kb;ja;JP416585) とのことなのですが、恥ずかしながら、そもそもSetup1.vbp の Setup1.frm とは一般的にどこにあって、どのように開けばよいのか分かりません。 (それとも自分で作成したformのことなのでしょうか。もしもそうだとしたら、ディストリビューションウィザードで作成した後に上記のような文字が自動で記載されるのですか。どうやって開けばよいんでしょうか。) つきましては恐れ入りますが、ご教授いただけると大変ありがたく存じます。 色々調べたのですがよく分からず、申し訳ございませんがよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 変数の定義の仕方をご教授ください。
Option Explicit Function EncodeURI(uri As String) As String Set sc = CreateObject("ScriptControl") sc.Language = "JScript" Set js = sc.CodeObject EncodeURI = js.encodeURIComponent(uri) End Function ------------------------------------------- をデバッグすると「sc =」と「js =」の部分が「変数が定義されていません」となってしまいます。 変数を宣言する時に、 dim sc as まではわかるのですが変数のデータ型を何にしてあげればいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- VB6にて文字型変数の内容をオブジェクト変数に代入する方法
VB初心者ですが オブジェクト変数に文字型変数で作成した オブジェクト名を代入したいのですが 上手くいきません。 Dim anyCmb As ComboBox Dim cmb_name As String cmb_name = "ABC" Set anyCmb = cmb_name 誰かわかる方がいましたら、教えてください。 よろしくお願いします。
- 締切済み
- Visual Basic
- 変数を動的に作るには?
変数を作成する際には必要な分だけ一つずつ宣言する必要があるのでしょうか? 例えば、連番を格納する文字列型変数を一時的に100個必要だとすると Dim textdat1 As String = "Number1" Dim textdat2 as String = "Number2" Dim textdat3 as String = "Number3" ・ ・ ・ と100個宣言しないといけないと思うのですがこれを For i As Integer = 1 To 100 Dim textdat(i) As String = "Number" & i Next i という様な形で変数を作成することは出来ないのでしょうか。 初歩的な質問かもしれませんが、よろしくお願いします。
- ベストアンサー
- Visual Basic
- フォーム2を出して フォーム1を閉じたい
のですが、うまくできません。 何が間違っているのでしょうか Dim WithEvents Frm1 As Form1 Dim WithEvents Frm2 As Form2 ------------------- Frm2 = New Form2() Frm2.Show() Frm1 = New Form1() Frm1.Close() ------------------ net です。
- ベストアンサー
- Visual Basic
- なぜ値が代入されるのかわからない
Sub Sample1() Dim 文字 As String 文字 = "あああ" Call Sample2(文字) 'プロシージャSample2の引数に変数を渡して呼び出す End Sub Sub Sample2(a As String) MsgBox a End Sub ---------------------------------- をやってみて疑問なのですが、 なぜ a = 文字 がないのに、 aに”あああ”が代入されるのでしょう? aにウォッチ式の追加をあてて、F8で一行ずつステップインしてみると Sub Sample2(a As String) の部分で、 aに””あああ”が代入されています。 a = 文字 と Sub Sample2(a As String) は 同じ意味なのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Eval関数を使いたい!ドキュメントにある宣言とはなに?
Eval関数を使いたい!ドキュメントにある宣言とはなに? DataBinder.Eval メソッド にある DataBinder.Eval (Object, String, String) 実行時にデータ バインディング式を評価し、 結果を要求側のブラウザに表示されるテキストとして書式化します。 を使いたいです。 Visual Studio 2005のドキュメントで見つけました。 ドキュメントにある宣言とはなんですか? Visual Basic (宣言) Public Shared Function Eval ( _ container As Object, _ expression As String, _ format As String _ ) As String Visual Basic (使用法) Dim container As Object Dim expression As String Dim format As String Dim returnValue As String returnValue = DataBinder.Eval(container, expression, format) 宣言と使用方法が載っていましたが、使い方がわかりません・・・ ~~~~~~~~~~~~~~~~~~~~~~ 以下を書くと「名前'Eval'は宣言されていません」とエラーが出ます。 宣言がわかっていないので、当たり前といえば、当たり前です。 Dim myWork As String = "1+2+3+4" Dim myTotal As String = "" myTotal = Eval("myWork") これが使えるようにするにはどうしたらいいか教えてください!
- ベストアンサー
- Visual Basic
- 超基本 変数への代入教えてください。
dim mychr as string * 255 mychrという変数を255個宣言しているのは分かりますが、どうやって代入するかが分かりません。ちなみに mychr=vbnullstring '初期化 mychr="ABCDEFG" mychr="A" mychr(0)="A" 全部だめでした、本で調べるにも調べようがなく、ご教授お願いいたします。
- ベストアンサー
- Visual Basic
- VBA モジュールで共通に使う変数の宣言方法
VBAにてプログラミングを覚えている者です。 現在、いくつかのモジュールがあり、それぞれDimにて宣言している共通の変数があります。 いくつものプロシージャに毎回宣言せず、どこかでひとまとめにしたいと思い、色々と調べています。 例えば、 Dim pic1 As Picture Dim cell1 As String Dim pass1 As String Dim pic2 As Picture などです。 Dimのほかに、Publicの宣言などがありますが、いま一つ使い方がピンときません。 共通宣言する変数をひとつのモジュールとして登録し、活用できると、いざ変更となったときに その内容だけ置き換えればいいと思うのですが、みなさんはどのように宣言をしていますか? (例えば、Stringなどは各モジュールで変更するのが大変だと思うのですが・・・) ヒントを教えていただければと思います。よろしくお願いします。
- ベストアンサー
- その他MS Office製品
お礼
遅くなりました。親切丁寧なご回答をありがとうございました。早速試してみます。