
自作アドインに、byref型で配列を引数にしたプロシージャを作り、別のファイルのプロシージャからそのアドインを呼び出して、アドインのプロシージャで配列に処理をして、その結果を呼び出し元のファイルのプロシージャで使用したいのですが、処理できないようです。
例えば、
アドイン側 myAddin.xla
sub test(byref strAry() as string)
strAry(0)="a":strary(1)="b"
end sub
呼び出し元
sub execute()
dim myAry() as string
redim myAry(1)
application.run macro:="myAddin.xla!test",arg1:=myAry()
msgbox myAry(0) & "-" & myAry(1)
end sub
上記のコーディングをしても、表示されるメッセージは "-" のみです。
アドインの処理はまったく反映されていません。
変数であればアドイン側をFunctionにして戻り値を取得できたのですが、配列ですとうまくいきません。
別のプロジェクトから、配列を返す方法はありませんか?
No.1ベストアンサー
- 回答日時:
どうも Application.Runで実行すると 配列だろうと引数がByValで渡されてしまうようです
アドインブックをExcelのメニューの ツール > アドインでチャックをつけます
VBEでアドインブックのプロジェクト名を
VBAProjectから適当な名前に変更して上書きします
たとえば myAddinProjなどとしておきます
VBEのメニューから ツール > 参照設定 > 参照ボタンで
アドインブックを指定し、OKをクリック
プロシージャの呼び出しを
myAdinProj.Test myArray
といった具合に呼び出してみましょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで他のファイル(proje...
-
xmlの値を配列変数に格納し...
-
Pascalでの選択ソート
-
Functionの戻り値を配列にした...
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
アクセスできない保護レベルエ...
-
【VB.NET】テキストボックスに...
-
エクセルVBAでテキストボッ...
-
他のフォームから別のフォーム...
-
コンボボックスのClickイベント
-
VB.NETでのイベントの途中終了
-
共有フォルダの「共有のアクセ...
-
チェックボックスを操作できな...
-
VB.NET コンボボックスからのit...
-
VB2010 TextBoxの数字の表示...
-
レコードセットにnullの場合
-
comboboxのクリックイベントに...
-
VBでの入力値制限について
-
プロシージャまたは関数の引数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Functionの戻り値を配列にした...
-
Excel VBAでsub,dimは何の略?
-
xmlの値を配列に格納したいんで...
-
Pascalでの選択ソート
-
VB6で配列を引数にするときの2...
-
2次元配列のデータをファイルへ...
-
xmlの値を配列変数に格納し...
-
配列に複数の値があるか簡潔に...
-
全組合せの洗い出しプログラム...
-
VBA public変数はどのようなこ...
-
他のフォームから別のフォーム...
-
エクセルVBAでテキストボッ...
-
VB.NETでのイベントの途中終了
-
チェックボックスを操作できな...
-
【VB.NET】テキストボックスに...
-
レコードセットにnullの場合
-
アクセスできない保護レベルエ...
-
C#のループでtextboxに値を入れ...
-
ユーザーフォームへのデータ入...
-
タイムアウトする仕組みを作りたい
おすすめ情報