VBA

Word

VBAで長い文字列に置換する方法

VBA(Word)で文字列の置換を行う場合、置換後の文字列が長すぎるとエラーになります。 実行時エラー5854 文字列型パラメータが長すぎます。 これを回避する方法を考えました。 次に挙げる二つの関数が必要です。「長い文字列の置換」がメイン...
Word

Wordの一文字ぶら下げを行うマクロ

Wordで文章を書く際に行頭に記号を使う場合があります。 例えば次のようなケースです。 ※この法律は、消費税について、課税の対象、納税義務者、税額の 計算の方法、申告、納付及び還付の手続並びにその納税義務の適正 な履行を確保するため必要な事...
Excel

JavaScriptの配列関連メソッドをVBAのユーザー定義関数に

VBAでも配列が使えますが、今一つ使いにくいです。配列関係の関数が少ないからでしょうか。 そこでVBAの配列について勉強を兼ねてJavaScriptの配列関連メソッドと同様の処理をするユーザー定義関数を考えてみました。 変数 a, b, c...
Excel

Excel、VBAで正規表現によるマッチング

前にExcelで正規表現による置換をするためのユーザー定義関数を考えました。 このユーザー定義関数はワークシートでもVBAでも使えます。
Excel

Excelの表をHTMLのtableに変換するマクロ

HTMLで表を作るにはtableタグを使いますが、結構、面倒です。 Excelで表を作り、HTMLとして保存することができますが、余計なタグが満載です。 Excelの表から必要最小限のHTML(tableタグ)に変換するマクロを作ってみまし...
Excel

アクティブシート以外を削除するマクロ

最近では主流となったタブブラウザですが、例えばFirefoxだと「他のタブをすべて閉じる」という機能があります。 これをExcelに応用して、アクティブシート以外のシートをすべて削除するマクロを作ってみました。 なお一々、確認ダイアログが出...
Word

Word文書の外字に印を付けるマクロ

Word文書の外字は環境が違うと表示されないので、Wordファイルを他人に渡すときは注意が必要です。 できれば代替できる文字に置き換えたいところです。 そこで、外字を見付けて「←【外字】」と印を付けるマクロを考えました。 外字はUnicod...
Excel

マクロでシートのページ数を求める

「HPageBreaks.Count」を使うと水平方向の改ページの数が分かります。ページ数はこれに1を加えた数です。 「VPageBreaks.Count」を使うと同様に垂直方向の改ページ、ページの数が分かります。 総ページ数は水平方向と垂...
Tool

VBAの変数を全て拾い出す

VBA(ExcelやWordのマクロ)のコードを書いていて長くなると変数の入力間違いなどに気付きにくくなります。 この場合、コードの先頭に「Option Explicit」と書きます。こうすると変数の綴りが違うとエラーが発生してすぐに気付き...
Excel

VBAでVLOOKUPを使う

Excelのマクロで、ある番号に合致した行の値を返す処理が必要になりました。 まず思い付いたのが最初の行から1行ずつチェックをする方法。 これだと行が多いと処理時間がかかります。 次に思い付いたのが「Find」を使う方法。 これだとさほど時...