![](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
アウトルックが起動しているかどうかを取得するには?
Visual Basic(VBA)
-
6
for each の現在の配列ポインタ VBA
Excel(エクセル)
-
7
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
8
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
Dictionaryについてその2
Microsoft ASP
-
11
エクセルで複数列の検索をマクロで行いたい
Excel(エクセル)
-
12
エクセルでセル未入力時の初期値設定はできますか?
Excel(エクセル)
-
13
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
14
エクセルVBAでシートモジュールでのパブリック変数
Excel(エクセル)
-
15
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
16
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
17
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
18
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
19
メッセージボックスで1025文字以上を扱う
Visual Basic(VBA)
-
20
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
EXCEL VBA オートシェイプナン...
-
VBAで別のシートに図形描画
-
VBAで既に開いている別アプリケ...
-
Word、VBAでの取り消し線文字の...
-
VBからPDFファイル自動生成...
-
VBAで作成するメール(開封確認...
-
PowerPointVBAでスライドマスタ...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
エラー91 オブジェクト変数また...
-
AccessVBAからWordのマクロを実...
-
VBScriptからDLL参照設定したい
-
VBでPDFファイルを編集する
-
vbaからIEを操作するための記載...
-
コードの意味が分からないので...
-
エクセルでダウンロードするには?
-
InternetExplorer.Application...
-
VBのプログラムミング
-
VBAについてです。 初心者です...
マンスリーランキングこのカテゴリの人気マンスリー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で作成するメール(開封確認...
おすすめ情報