1. |
Excelユーザーフォームのテキストボックスのコピー&ペースト |
|
2005.7.1 掲載
2013.4.24 最終更新 |
Excelのユーザーフォームのテキストボックスでは右クリックしてもメニューが出てきません。
このスクリプトにユーザーフォームを使用した既存のExcelブックをドラッグアンドドロップすると、テキストボックスを右クリックするとコンテキストメニューが出現し、コピー、切り取り、貼り付けができるようになります。
このスクリプトには、Linkにある田中亨さんのサイトで見つけたテクニックを応用させていただきました。
なお、このスクリプトはWSH5.5でも動くはずですので、Windows98以上、Excel2000以上で機能します。
H17.11.12
【V2について】
ア.コンボボックスにも対応し、実行時に付加されたコントロールに付いても対応しています
ウ.割り込み処理をクラスモジュールにまとめましたので追加するコードもコンパクトになりました。
H19.8.14
Excel2007に対応しました。なお、V2で処理したブックをxlsmで保存 した場合、再処理する必要はありません。
H25.1.2
【V3について】
ア.V2ではFrameやMultiPage上へのコントロールの実行時追加には対応できませんでしたがV3では対応しました。
イ.ワークシート上のActiveXコントロールのテキストボックス、コンボボックスにも対応しました。
H25.3.31
Windows8+Excel2013(共に32ビット)で動作確認いたしました。
H25.4.24
Excel2013で複数ブックを取り扱う場合、ユーザーフォームのコントロールを右クリックした際異常終了するトラブルが見つかりましたので、マニュアルに対応方法を追記しました。 |
2. |
ExcelVBAコードのリスト |
|
2005.7.1 掲載
2008.5.11 最終更新 |
VBAのコードモジュールを印刷すると、プリンタの方で余白の設定機能が無い限り、極端に左端によって印刷されます。
VBAを使い始めた当初、リストをファイルする際、余白が狭いのが悩みの種で、なんとかコードモジュールを読み出して印刷できないものかと考えたのですが、当時は技術不足で挫折しました。
今はコードをプリントしてファイルするなんてことはめったにやりませんので、不要といえば不要なのですが、昔のこだわりを思い出して作成しました。
WSH5.5、Excel97でも使用できます。
H17.8.28:バグ修正しました
H19.8.15:Excel2007に対応しました
H20.5.11:VBEのオプションで「変数宣言を強制する」に
チェックが入っていると異常終了するバグに
対応しました。
なお、Option Explicit のみのモジュールは印刷
いたしません。 |
3. |
Excelプロセスの一斉ストップ |
|
2005.7.1 掲載
2006.1.6 最終更新 |
その時点で存在するExcelのインスタンスをすべて停止させるスクリプトです。
大半の方は、こんなものなんに使うんだ?と思われると思いますが、Excelインスタンスを起動する、スクリプトやVBAをテストしていると、いつの間にやら(といってもテストしているプログラムが異常終了している訳ですが)10本くらいExcelの隠れインスタンスが動いているなんてことがあります。
1~2本なら、タスクマネージャーから停止すれば良いのですが、あまり多くなると結構面倒くさいため、私は怪しいなと思ったらこれで掃除してます。 WMIを使用しており、XP専用です。
H18.1.6:
オートメーションからスタート(VBA、スクリプト等)からスタートされた
もののみを停止対象にするバージョンに入れ替えました。 |
4. |
Excelアドイン作成者用ツール |
|
2005.7.17 掲載
2007.12.17 最終更新 |
Excelブック⇔アドイン(xla,xlam)の変換ツール、Excelアドインインストーラのスクリプトです。
いずれも、Excelブック、アドインファイルをスクリプトにドラッグ&ドロップするだけで動きます。
アドインをいじり始めた頃、通常のExcelブックを残しておかず、しばらく経って、修正しようとした際、復元の方法のメモをどこに入れたか分からなくなり、改めて情報を検索するはめになったことがあり、こんなニーズもあるかもしれないと思い作成しました。
アドインインストーラはマイクロソフトのサイトにあったサンプルを改造したものですが、MSのサンプルでは、別のパスに同名のアドインが存在した場合、エラーも何も出さず、そのまま古いアドインが生き残ってしまうと言う欠陥が生じますのでそれに対応したものです。
おまけとして、Excelの ツール⇒アドイン で表示されるアドインリストの未使用のユーザー作成アドインのお掃除スクリプトも同封してあります。
すべて、WSH5.5、Excel97以上で動きますが、アドインインストーラは条件によってはレジストリの変更を行いますので、同封のマニュアルをお読みになった上で使用願います。
なお、アドインインストーラのテストに関して、Miyahnさん、職場の静香さんのご協力をいただきました改めて御礼を申し上げます。
H19.8.16
Excel2007に対応しました。
H19.12.17
ユーザーの方からのご指摘で、タイトルの入ったアドインが上手く入れ替わらないバグのあることが判明いたしましたので修正しました。 |
5. |
Excelブックへのプログレスバー追加キット |
|
2005.7.31 掲載 |
終了までに、長時間かかるようなマクロの実行を待っているのはあまり精神衛生上よろしくありません。
これは、マクロ実行中にプログレスバーを表示する機能を組み込むキットです。
残念ながら、フルオートマチックとは行きませんので、コンポーネントを組み込んだ後、既存のコードに若干手を加える必要があります。
なお、スクリプトによりコンポーネントを生成するような体裁をとっていますが、これは、VBAないしはスクリプトからユーザーフォームを作成するという手法を調べていた際作成しましたので、そのまま公開しただけで、実際には同封の標準モジュール、ユーザーフォームをご自分でインポートしても用は足ります。
同封の"使用法兼サンプル"で、簡単に機能を試して見ることができます。また、VBAをいじる方の参考になるかと思い、その中にVBAによるユーザーフォームの追加のサンプルコーディングと簡単な説明も入れてあります。
このプログレスバーはマイクロソフトのサポート技術情報
「作成したプログラムの進行状況を確認するバーを表示するには」
をベースに作成したものです。
上記サポート技術情報の中にも記載がありますが、ユーザーフォームの機能の関係でExcel2000以上が必要です。
また、このスクリプトはWSH5.5で実行可能です。(テストはWSH5.6のみで実施済み) |