このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
微软®擅长®のアドインおよびマクロの作成に関する基本的なワークフローは、MATLABからの 擅长アドインの作成およびアドインおよび 组件对象模型コンポーネントと 微软Excelとの統合にあります。
この例では、可変長入力と可変長出力をもつ関数の取り扱い方法、およびこれらの関数からのマクロの作成方法について説明します。
myplot
は単一の整数入力を取り、1.からその数までのラインをプロットします。
糠秕
は整数
型の瓦拉金
の入力を取り、すべての数を合計し、結果を返します。
我的素数
は単一の整数入力N
を取り、N
以下のすべての素数を返します。
微软Excelファイルxlmulti.xls
では、いくつかの方法でこれらの関数を実際に示します。
製品内からコード例の場所にアクセスする方法の詳細については、例のファイルのコピーを参照してください。
MATLABからの 擅长アドインの作成内の説明に従ってこの例を実行するにあたり、以下の情報を使用します。
システムで微软Excelを起動します。
ファイルmyfiles\work\xlmulti\xlmulti.xls
を開きます。
次のように例が表示されます。
メモ:
このファイルにマクロが含まれていることを 擅长プロンプトが示す場合、[マクロを有効にする]をクリックしてこの例を実行してください。
この図では、値 4.で関数myplot
を呼び出しています。関数を実行するには、セル A7(=myplot(4)
) をアクティブにします。地上二层キーを押してから、进来キーを押します。
このプロシージャでは MATLAB®图形ウィンドウでラインを 1.から 4.までプロットします。このグラフィックスは MATLAB内で 图形を操作する方法と同様に操作できます。ライン スタイルまたは色の変更など、一部の機能は使用できません。
この関数は値を返さないため、呼び出し元のセルには 0が示されます。
この図では、関数糠秕
を以下の異なる 4.つの方法で呼び出しています。
最初の方法 (セル A14)は、1.から 10までの値を取得して合計した結果 55 (=mysum(1,2,3,4,5,6,7,8,9,10)
) を返します。
2.番目の方法 (セル A19)は、1.から 10までの値をもつセルの範囲である範囲オブジェクトを取得し、合計した結果 55 (=mysum(B19:K19)
) を返します。
3.番目の方法 (セル A24)は、複数の範囲オブジェクトを取得し、合計した結果 120 (=mysum(B24:K24,B25:L25,B26:D26)
) を返します。この例は、範囲が同じサイズである必要はないことと、すべてのセルに値が必要なわけではないことを示しています。
4.番目の方法 (セル A30)は、範囲オブジェクトと明示的に指定された値の組み合わせを取得し、合計した結果 16 (=mysum(10,B30:D30)
) を返します。
この例は、擅长ファイルが開かれたときに実行されます。例を再度アクティブにするには、適切なセルをアクティブにします。その後、地上二层キーを押し、続いて进来キーを押します。
この例では、マクロ我的素数
は関数我的素数
をセル A42の初期値 10で呼び出します。関数は 10未満のすべての素数を B42から E42に返します。
マクロを実行するには、Visual Basic®编辑ではなく 擅长メイン ウィンドウで中高音キーとF8キーを同時に押すか、[ツール]、[マクロ]、[マクロ]を選択して、[マクロ] ダイアログ ボックスを開きます。
リストから我的素数
を選択して、[実行]をクリックします。
この関数は返された出力が指定した出力範囲より大きい場合に、自動的にサイズ変更します。セル A42の値を 10より大きい数値に変更します。その後、マクロを再実行します。出力は A42に入力した数値より小さいすべての素数を返します。
微软Excelのメイン ウィンドウで、[ツール]、[マクロ]、[Visual Basicエディター]を選択します。
Microsoft Visual Basicの [プロジェクト - VBA项目]ウィンドウで、VBA项目(xlmulti.xls)
をダブルクリックして展開します。
模块
フォルダーを展開し、模块1
モジュールをダブルクリックします。これにより、このプロジェクトのコードを表示した VBコード ウィンドウが開きます。
可変長引数の取り扱いについての詳細は、可変引数をもつプログラムを参照してください。