西暦年月日を挿入するマクロ

Wordには今日の日付を挿入する機能があります。
メニューの 挿入 - テキスト - 日付と時刻 を選択します(Word2013の場合)。
デフォルトではキーボードショートカットとして「Ctrl+;」(Ctrlキーを押しながらセミコロンキー)が割り当てられています。
しかし「日付と時刻」ダイアログが表示され、表示形式を選択する必要があります。またファイルによっては言語の選択が英語になってしまう場合があります。
私は西暦年月日だけを挿入したいので不便です。
マクロを作りました。 (さらに…)

PowerPointで差し込み印刷

Wordには差し込み印刷という機能がありますが、PowerPointにはありません。
VBA(マクロ)を使ってExcelのデータをPowerPointに差し込んで保存する方法を考えました。
一応、動きましたので、自分のメモとして残しておきます。
PowerPoint2013、Excel2013で確認しました。 (さらに…)

Excelで印刷時に文字がはみ出さないようにする方法

Excelで「折り返して全体を表示する」を適用している場合、画面上ではセルに収まっている文字が印刷するとはみ出して印字されないというケースがあります。
環境によるのかもしれませんが、これは困ります。ページ設定で縮小するとダメなようです。 (さらに…)

Excelのワークシートの最下行と最右列を取得

Excelのマクロでデータがセットされている最も下の行を求める場面はよくあります。
ワークシートにA1セルを起点(左上)とする一般的な表がある場合、
Cells(Rows.Count, 1).End(xlUp).Row
とすることで取得できます。
Cells(Rows.Count, 1)はワークシートのA列の最も下のセルを表します。Excel2013ならば1048576になります。
End(xlUp)はCtrlを押しながら上向き矢印を押したのと同じ効果があります。つまり最も下のセルから上に向かってデータがセットされているセルを探します。
Rowで行番号を表します。
これならば万が一、表の左端に空のセルがあっても求められます。
最も右の列を求めるのも同様です。

まとめると次のようになります。

最も下の行番号
Cells(Rows.Count, 1).End(xlUp).Row

最も右の列番号
Cells(1, Columns.Count).End(xlToLeft).Column

なお範囲を取得するにはCurrentRegionを使う方法もあります。

複数のWord文書に対して文字列置換

フォルダを指定し、その中のWord文書に対して、文字列の置換をするマクロです。
まず置換前の文字列と置換後の文字列を入力します。
その後、フォルダを選択します。
実行されるとファイルを開き置換を行い上書き保存します。これを繰り返します。 (さらに…)

「エンジニアが1時間未満で解くべき五つの問題」をVBAで解く

今年、流行った「五つの問題」を今頃、知りました。
色々な言語での解答が発表されていますが、おそらく誰もやらないであろう、VBAで挑戦してみました。
私がVBAの最大の弱点だと思うのが配列。ところがこの「五つの問題」はどれも配列を使わないと解けません。これに苦戦しました。 (さらに…)

VBAで順列

VBAで配列を与えると全ての順列を返すユーザー定義関数を紹介します。
JavaScriptの配列関連メソッドをVBAのユーザー定義関数に | You Look Too Cool
で紹介したユーザー定義関数のうち「splice」「push」「concat」が必要です。 (さらに…)

全てのシートの名前を配列で取得するマクロ

開いているExcelブックのすべてのシートの名前を配列で取得するマクロです。
これ自体は意味がないですが、他のマクロに組み込んで使えると思います。
Excel2013で確認しました。 (さらに…)

WordマクロのFindのプロパティ(まとめ)

Wordマクロ(VBA)で文字列の置換をする場合には次のように書きますが、Findのプロパティが色々あって分かりにくいので使いそうなものについて調べてみました。
Word2013で確認しました。 (さらに…)

外字の有無をチェックするユーザー定義関数

もう2015年だというのにWindowsで「外字」を使ったデータに遭遇しました。
標準で使える文字に置き換える、もしくは文字を画像として作るのが定番となって久しいと思っていたので、驚きました。
ともあれ、外字の有無をチェックする必要が生じたので、ユーザー定義関数を作ってみました。

シフトJISの場合、16進で0xF000-0xFFFCが外字の領域になります。
VBAにはAscという関数があり、文字列の先頭のコードを返します。このコードはシフトJISのコードと比べると、外字の領域を含む範囲では、ちょうど0x10000の分だけ少ないので、これを利用します。 (さらに…)

古い記事

タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報