直近○回分のイベント発生日時を配列化するFunctionの修正

直近のイベント発生日時を配列化するFunctionの修正 このとき akashi-keirin.hatenablog.com 作成したFunctionについて、対応できるイベントを増やそうとして、いろいろ不具合に気づいたので修正する。 コードへのリンクはコチラ。 1.無意味な判定をやめる…

「直近○回分のシャットダウン日時」の配列を返すFunction

直近のイベント発生日時を配列化するFunction このとき akashi-keirin.hatenablog.com 作成したFunctionは、 直近のイベント日時を取得するFunctionだったが、これをちょいと改造して、 直近○回分のイベント日時を取得して配列化するFunction にする。 改造…

Join関数について

Join関数というものがある Join関数 前回の記事 akashi-keirin.hatenablog.com に、 id:imihito さんからコメントをいただいた。曰く、 argsByArray 相当処理として、組み込み関数にJoin 関数というものが有ったりします ```vba Join(strArray, "! ") ``` …

配列を引数にすることはできるのか

配列を引数にすることはできるのか 配列を引数にしてみる プロシージャの引数に配列を指定することはできるのだろうか、と思ってやってみた。 とりあえず、 Public Function argsByArray(ByVal ar() As String) As String としてみたら、 こんなふうにいきな…

直近の起動・終了日時を取得するFunction(2)

直近のイベント日時を取得するFunctionの改良 前回 akashi-keirin.hatenablog.com の続きです。 イベントコードを引数として受け取る 前回は、シャットダウン日時を取得するFunction、起動日時を取得するFunctionの2種類を作ったわけだが、記事中でも言及し…

直近の起動・終了日時を取得するFunction

Windowsの起動・終了時刻を返すFunction ※改良版はコチラ。 直近の起動・終了時刻を返す 前回の akashi-keirin.hatenablog.com のリスト1に手を加えて、 直近のシャットダウン日時 今回の起動日時 を取得するFunctionを作ってみる。 今回作成したコード と…

Windowsのシャットダウン日時を取得する

Windowsのシャットダウン時刻を取得する Windwosのイベントログを取得するには? Excel VBA質問箱 IV【74506】Re:VBAシャットダウン時刻取得にて、次のコードを発見した。 リスト1 標準モジュール Public Sub test() '……(1)' Call EnumShutdownDateTime(Ran…

タブ幅やタブ位置をVBAから設定する

VBAからタブを設定する 既定のタブ幅をVBAで操る タブ幅の設定って、結構めんどくさいなあと思っていた。んで、何とかVBAで操作できないものか、とちょっとggってみたんだが、これというものが見つからず(調べ方が悪いだけだと思うけど)、ちょいとマクロ記…

乱数を格納した配列を保持するクラスを作ってみた

乱数を格納した配列を保持するクラス クラスへの移行 前回の akashi-keirin.hatenablog.com で、乱数を格納した配列を作るFunctionを作った。 実は、追記のところで、型指定でVariantを使うブサイクさ問題は解決ずみなんだが、乗りかかった船なのでやってお…

乱数を格納した配列を作るFunction

文字をランダムに並べ替える 乱数を作るのはめんどくさい ランダムに並べ替えるという作業をするときには、乱数を発生させて使えば良いのだが、毎度毎度乱数を発生させる処理を書くのは正直メンドクサイ。 最大数を与えたら、1~最大数をランダムに並べて配…

ユーザーフォームへのコントロールの動的配置

コンボボックスを動的に追加する フォームにコンボボックスを追加する コンボボックスやリストボックスは、ユーザからの入力を受け付けるインターフェースとしては便利なんだが、チマチマ作ることを思うと結構メンドクサイ。 コンボボックスの追加がラクにで…

差込印刷のデータソースにおけるVLOOKUP関数の使用――(2)

差込印刷のデータソースにおけるVLOOKUP関数 akashi-keirin.hatenablog.com この続き。 問題は戻り値の「0」(ゼロ) 差込印刷のデータソースの表でVLOOKUP関数を使うと、検索値によって差し込みたいデータが決まっているようなときは非常に都合が良い。 た…

差込印刷のデータソースにおけるVLOOKUP関数の使用

差込印刷のデータソースにVLOOKUP関数を使うとちょっと困る Wordの差込印刷は気が利く たとえば、Excelで こんな表を作っておいて、差込印刷のデータソースに指定しておく。 Wordの方では こんなふうに差し込みフィールドを設定しておく。 んで、差し込んだ…

○箇月後の○曜日――改良版

「○箇月後の○曜日」割り出しFunctionの改良 akashi-keirin.hatenablog.com VbDayOfWeek型の引数 Twitterのフォロワー氏、及びid:imihito さんが教えてくださった。 vbSundayとかvbMondayって、単なる組み込み定数だと思っていたけれど、正体はVbDayOfWeek列…

○箇月後の直近の○曜日は?

○箇月後の○曜日の日付を求める自作Function 「1箇月後の直近の木曜日を求める」という作業が発生した。別に、暦を見たらいいんだけれど、もし今後たくさんの日付について同じ作業をする必要が生じたらメンドウなので、ちょこちょこっと「1箇月後の直近の木…

WordドキュメントのPDF化ツール――だいぶ本格的になりました

自作ツール「かんたんPDF変換」 3種類のPDF変換をこなすツールを自作した akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com 上記の記事で、Wordドキュメントを編集中にサクッとPDF化するマクロを作ったわけだが、 いっそちゃんとしたツールとし…

Wordドキュメントの編集中のページをサクッとPDF化する

WordドキュメントのアクティブなページのみPDF化 以前、 akashi-keirin.hatenablog.com コチラの記事で、クリック一発で編集中のドキュメントをPDF化するマクロを紹介した。 今回は、題名のとおり、 現在アクティブなページのみPDF化 するマクロを考える。 …

ユーザーフォームへのコントロール配置――ControlsコレクションのAddメソッド

ユーザーフォームへのコントロール配置――ControlsコレクションのAddメソッド ControlsコレクションのAddメソッドによるコントロールの動的配置 この本の162ページによると、 ユーザーフォームにコントロールを追加するには、Controlsコレクション(集合体)…

ユーザーフォームへのコントロール配置――このやり方があったじゃないか!

Controlsコレクションの引数 このやり方があったじゃないか! 前回 akashi-keirin.hatenablog.com コチラの記事で、 オブジェクト名を「Object1」、「Object2」、……とかにしておいて、「Object & i」とかで指定できるか ということなんだが、当然そんなこと…

ユーザーフォームへのコントロール配置の効率化に挑む

コントロールの配置の効率化 コントロールを規則的に配置する 前回、 akashi-keirin.hatenablog.com は、コントロールを配列にぶち込んでまとめて処理、という方法を試みた。 配列にぶち込みさえすれば、後はループを回すだけなのだが、そもそも配列にぶち込…

ユーザーフォームへのコントロール配置を効率的に行う?

ユーザーフォームを効率的に作る コントロールはNewできるか やってみた。 なお、ユーザーフォームは、 akashi-keirin.hatenablog.com このときのものを使う。 オブジェクト名が「BtnLeft」なので、BtnLeft型の変数が宣言できると思ったが、 あえなく撃沈w …

大発見!

プロパティ・ウインドウの表示 項目別? VBEのプロパティ・ウインドウ。私は常時表示しているんですが、あまり気に掛けることはなかった。 ユーザーフォームを使うときに、フォームやコントロールのプロパティを、コードで設定するのがメンドウなときに見て…

編集中のWordドキュメントをサクッとPDF化するアドイン

素早く手軽にPDF化 WordドキュメントのPDF化 大量のWordドキュメントを自動でPDF化する、というのは、かなり前に対応済みだった。 akashi-keirin.hatenablog.com Wordドキュメント1つとか2つだけをPDF化する、などというシチュエーションはほとんどなかっ…

ユーザーフォームとPropertyプロシージャと私

ユーザーフォームにプロパティを追加する フォームモジュールにPropertyプロシージャを書いてみる なんかこう、クラスモジュールとフォームモジュールの違いが分からなくなってきている私です。 akashi-keirin.hatenablog.com コチラに、id:imihito さんから…

ユーザーフォームをクラスっぽく使おう!

ユーザーフォームをクラスっぽく使う ユーザーフォームのテンプレート(?) 前回の akashi-keirin.hatenablog.com で、ユーザーフォームもNewできると分かった。 で、それが何の役に立つのか、イマイチよく分からないんだが、 よく使うパターンのユーザーフ…

ユーザーフォームはNewできるか

ユーザーフォームをNewしてみる ユーザーフォームって、クラスモジュールに似てね? クラスモジュールを使っていなかった頃はなんとも思ってなかったが、クラスモジュールをよく使うようになって、改めてユーザーフォームを使ってみると、結構共通点があった…

素人がアドインの世界に首を突っ込んでみる

素人、アドインに手を出す アドインとは……? 「アドイン」って、よく聞く言葉だったけど、意味が分からんかったのでずっと放置していた。 何かの拍子に「マクロをアドインとしてうんたらかんたら」というのを読んで、ちょっと調べてみた。 そしたらアンタ、…

WorkbooksコレクションのAddメソッドに自分自身のフルパスを渡すとExcelが落ちる

Excelが落ちる WorkbooksコレクションのAddメソッド akashi-keirin.hatenablog.com に、ExcelVBAer(id:x1xy2xyz3) さんから、次のようなコメントをいただいた。 参考までに、WorkBooks.Add([originalFileFullName]) という方法も知っておくといいかもね~ Ad…

列番号を列符号に変換する関数

列符号を割り出す関数を作る Split関数の挙動 セルのAddressプロパティを取得すると、例えばA1セルなら、「$A$1」という文字列が返る。 ということは、「$」をデリミタとしてSplit関数を使えば、列符号を表す「A」がSplit関数の返り値である配列のどこかに…

親ブックから子ブックを量産する

データを変えて親ブックから子ブックを量産するマクロ 子ブック生成部分を切り出す akashi-keirin.hatenablog.com の続き。 FileSystemObjectオブジェクトのCopyFileメソッドを使うと、子ブックの生成が簡単にできることが分かったので、いよいよ量産体制に…