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でワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
-
4
collection型を引数にしたファンクションでコンパイルエラー
Visual Basic(VBA)
-
5
構造体をコレクションに入れて扱いたいのですが…
コレクション
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
8
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
9
アウトルックが起動しているかどうかを取得するには?
Visual Basic(VBA)
-
10
for each の現在の配列ポインタ VBA
Excel(エクセル)
-
11
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
12
メッセージボックスで1025文字以上を扱う
Visual Basic(VBA)
-
13
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
14
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
15
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
18
Dictionaryについてその2
Microsoft ASP
-
19
エクセルでセル未入力時の初期値設定はできますか?
Excel(エクセル)
-
20
エクセルで複数列の検索をマクロで行いたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
VBAからPDFファイルにパスワー...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
エクセル/保護したシート上の埋...
-
実行時エラー 3265「要求された...
-
WSH createobjectで指定出来る...
-
ExcelのVBAについて(グラフ操作)
-
エクセルのVBAの標準モジュール...
-
VBScriptでCSVファイルのデータ...
-
コンパイルエラーの対処がわか...
-
Excelでフィルタをかけると警告...
-
【VB】【エクセル操作】 SaveAs...
-
エクセルVBAでcode128のバー...
-
VB6 ファイルのリネームの仕方
-
オブジェクト変数の取得について
-
マクロ初心者です。 インデック...
-
UserForm1.Showでエラーになり...
-
Word2007数式でIMEオン/オフを...
マンスリーランキングこのカテゴリの人気マンスリー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についてです。 初心者です...
おすすめ情報