はじめに

多量の行が表示されないように、このブログは1コンテンツしか表示されない。ブログアーカイブから、他の記事を捜してくれ。

環境作れし。
・gawk 3.1.5 for Windows をググッて入手。
・gawk.exeをpathの通ったフォルダにぶち込めし。
 (「windows パスを通す」ググッて)
 (面倒なら、C:\windowsにぶち込む)
・環境変数「awkpath」にスクリプトを保存するフォルダを設定。
 (「環境変数 設定 windows」ググッて)
 (面倒なら、C:\windowsに、紹介されているスクリプトぶち込む)

2023年8月6日日曜日

VBA:マクロをアドイン化する

 久々の更新だ。今回はVBAマクロをアドイン化する手順の紹介だ。

通常マクロはワークブックに含まれてしまうので、他のEXCELファイルからは使えない。

アドイン化されたマクロはEXCEL起動時に読み込まれるので、マクロを有効にしているすべてのブックから使用可能だ。ただし、ユーザ定義ワークシート関数をアドイン化すると、他のPCでワークシートを開いたときエラーで機能しなくなるので、他人とブックを共有する前に「値貼り付け」等でユーザ定義ワークシート関数をつぶした方がよいぞ。

望まれればマクロを共有してもよいが責任問題をクリアするため、能動的にマクロを広めちゃあかんよ。

アドイン化手順

①空のブックをアドイン用フォルダにcommon.xlamの名前で保存する

Excelの[オプション]-[アドイン]-[設定]ボタン押せばアドインのダイアログが表示される。
ここで参照ボタンを押せばアドイン保存用フォルダが解るので、何もせずオプションをとじて、空のブックをアドイン用フォルダにcommon.xlamの名前で保存する。
このとき名前を変えるだけではなく、ファイルタイプでxlamを選択して保存しろし。


②common.xlamをアドインとして有効にする。
再びアドインダイアログを表示し[参照]ボタンを押下し、先ほど保存した、common.xlamを選択する。アドインダイアログの[common]チェックボックスをチェックすれば、以降excel起動時にcommon.xlamが読み込まれる。

③VBAから新規モジュールを追加する
VBAを開くと、現在開いているワークブック以外にCommonFunction(common.xlam)が表示されている。これを右クリックで選択し標準モジュールを追加する。

④追加されたModule1をcommon.basに開放(エクスポート)する
CommonFunction(common.xlam)にはModule1が追加されているので、すぐに開放する。
この時、[エクスポートする]を選択し、common.basの名で任意フォルダにエクスポートする。

⑤エクスポートされたcommon.basをテキストエディタで開きモジュール名をModule1からcommonに変更する



⑥編集されたcommon.basを保存し、VBAからCommonFunction(common.xlam)にインポートする

これでcommon.xlamに書かれたマクロは他のブックから使用できる。

ただし、大きなマクロはアドインに入れちゃいかんぞ。切り離せる仕組みを考えて必要な時のみ読み込めし。


0 件のコメント:

コメントを投稿