![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_07.png?8acaa2e)
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
for each の現在の配列ポインタ VBA
Excel(エクセル)
-
5
アウトルックが起動しているかどうかを取得するには?
Visual Basic(VBA)
-
6
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
7
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
8
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
9
エクセルでセル未入力時の初期値設定はできますか?
Excel(エクセル)
-
10
エクセルで複数列の検索をマクロで行いたい
Excel(エクセル)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
エクセルVBAでシートモジュールでのパブリック変数
Excel(エクセル)
-
13
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
14
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
15
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
16
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
17
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
-
18
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
19
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
20
VBA 1次元配列を2次元に追加する
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
エクセルVBAでcode128のバー...
-
上下の位置揃えについて
-
オブジェクトが見つかりません
-
PowerPointVBAでスライドマスタ...
-
VBAで既に開いている別アプリケ...
-
エクセルのVBAの標準モジュール...
-
【.NET】Wordのテキストボック...
-
VBAで作成するメール(開封確認...
-
メモリ解放について(ASP)
-
Excel VBAでWordの複数ファイル...
-
エクセルVBAで配列内に空白デー...
-
VBからPDFファイル自動生成...
-
WORD表示、もしくは印刷処理に...
-
VBA オブジェクトが空かどうか...
-
VBAからPDFファイルにパスワー...
-
EXCEL VBA オートシェイプナン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
エクセルのVBAの標準モジュール...
-
エクセルマクロエラー「'Cells'...
-
Excelでフィルタをかけると警告...
-
VBAで Set wb = Sheets(1).Cop...
-
VBAからPDFファイルにパスワー...
-
テキストボックス中の文字列の...
-
エクセルVBAでcode128のバー...
-
EXCEL VBA オートシェイプナン...
-
VBAで作成するメール(開封確認...
-
PowerPointVBAでスライドマスタ...
-
ある文字列が全て数字であるか...
-
[VBA]CDOメッセージ送信エラー
-
エクセルVBAで配列内に空白デー...
-
オブジェクトが見つかりません
-
UserForm1.Showでエラーになり...
-
上下の位置揃えについて
おすすめ情報