![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_07.png?5a7ff87)
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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
for each の現在の配列ポインタ VBA
Excel(エクセル)
-
6
アウトルックが起動しているかどうかを取得するには?
Visual Basic(VBA)
-
7
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
8
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
Dictionaryについてその2
Microsoft ASP
-
11
構造体をコレクションに入れて扱いたいのですが…
コレクション
-
12
エクセルでセル未入力時の初期値設定はできますか?
Excel(エクセル)
-
13
エクセルで複数列の検索をマクロで行いたい
Excel(エクセル)
-
14
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
15
エクセルVBAでシートモジュールでのパブリック変数
Excel(エクセル)
-
16
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
17
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
18
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
-
19
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
20
メッセージボックスで1025文字以上を扱う
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルマクロエラー「'Cells'...
-
VBAで既に開いている別アプリケ...
-
エクセルのVBAの標準モジュール...
-
PowerPointVBAでスライドマスタ...
-
Excelでフィルタをかけると警告...
-
エクセルVBAでcode128のバー...
-
sheetsメソッドの失敗
-
テキストボックス中の文字列の...
-
ある文字列が全て数字であるか...
-
VBAで Set wb = Sheets(1).Cop...
-
コンパイルすると「メソッドま...
-
VBAからPDFファイルにパスワー...
-
[VBA]CDOメッセージ送信エラー
-
オブジェクトが見つかりません
-
実行時エラー 3265「要求された...
-
AccessVBA NULLについて
-
Shell.ApplicationのNameSpace...
-
ExcelVBAでのNZ関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
VBAからPDFファイルにパスワー...
-
VBScriptでファイルの日時順(降...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
エクセルVBAで2つの画像を比較...
-
PowerPointVBAでスライドマスタ...
-
UserForm1.Showでエラーになり...
-
上下の位置揃えについて
-
VBAについてです。 初心者です...
-
VBAで作成するメール(開封確認...
おすすめ情報