VBのプロシージャ間で、Dicitionaryオブジェクトを引数にして渡したいのですが、可能でしょうか。
以下のテストプログラムを起動すると、引数エラーになってしまうのですが、
可能なのでしょうか。
実際は、MsgSet()とMsgGetは別々のプロジェクトの為MsgDicオブジェクトを
グローバル変数としてはもつことが出来ません。
'*****値設定用プロシージャ*****
Sub MsgSet()
Dim MsgDic 'メッセージ格納領域
Set MsgDic = Server.CreateObject("Scripting.Dictionary")
MsgDic.RemoveAll
'値の設定
MsgDic.Add "MSG1", "メッセージ1"
MsgDic.Add "MSG2", "メッセージ2"
MsgDic.Add "MSG3", "メッセージ3"
Call MsgGet(MsgDic)
End Sub
'*****値取得用プロシージャ*****
Sub MsgGet(MsgDic)
Dim getKey,i
getKey = MsgDic.keys
For i = 0 To MsgDic.Count -1
Print getKey(i)
Next
End Sub
No.1ベストアンサー
- 回答日時:
言語は何でしょうか?ASPですか?VB6ですか?
Server.CreateObjectが入っているのでASPと見えますが、別プロジェクトと言うことで、VB6のようにも見えます。
そんでもって、どんなエラーメッセージが返されるのですか?どの行ですか?
このままVBSで実行させてみましたが、
Print getKey(i) のところで TypeMissMatch で落ちます。
これをMsgBox にしたら普通に通りました。
一般的に、関数の引数でDictionary Object を渡すのは普通に出来ますよ。
最初は、ASP内で作成したDictionaryオブジェクトを
使用したくって。
VBにテスト用のDictionaryオブジェクトを作成した時に、Server.CreateObject("Scripting.Dictionary")と記述してしまって落ちていたようです。
VBでは、CreateObject("Scripting.Dictionary")と記述したら上手く行きました。
また本来の目的として、ASPでDictionaryオブジェクト
を作成して、COMへ渡すこともできました。
ありがとう御座います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
-
4
構造体をコレクションに入れて扱いたいのですが…
コレクション
-
5
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
6
Dictionaryについてその2
Microsoft ASP
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
collection型を引数にしたファンクションでコンパイルエラー
Visual Basic(VBA)
-
9
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
10
for each の現在の配列ポインタ VBA
Excel(エクセル)
-
11
メッセージボックスで1025文字以上を扱う
Visual Basic(VBA)
-
12
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
15
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
16
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
17
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
18
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
19
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
20
split関数で区切り文字がない場合
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
ACCESSのFieldの追加方法
-
python __del__()に関して
-
UserForm1.Showでエラーになり...
-
実行時エラー 3265「要求された...
-
パワーポイント filedialogでフ...
-
ドロップダウンリストの行を増...
-
VBA オブジェクトが空かどうか...
-
オブジェクト変数またはWITHブ...
-
テキストボックス中の文字列の...
-
VBScriptでCSVファイルのデータ...
-
VBS 指定のフォルダ内の最新の...
-
エクセルVBAでテキストボックス...
-
textBox isNot Nothing とは
-
PowerPointVBAでスライドマスタ...
-
VBScriptでファイルの日時順(降...
-
VBAによるコメントの余白設定
-
VBA プロパティについて
-
VBでPDFファイルを編集する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報