VBA自作メソッド

ファイルの更新日時を変更する

ファイルの更新日時を変更する ちょっと調べてみた。すると、 www.tipsfound.com コチラがヒット。曰く、 ファイルに日時を設定 FileSystemObject や VBA の標準機能には日時を変更する機能はありません。代わりに Shell.Application を使って更新日時の変更…

予約語を判定するFunction

予約語を判定するFunction 作った。 予約語リストを手に入れる 手っ取り早く kazusa-pg.com こちらの方がうpしているやつをいただいた。 ありがとうございます。 予約語を判定するメソッドのコード むつかしく考えずに……。 リスト1 標準モジュール Public …

VBAでwavを鳴らしたら珍現象が起きた話

VBAでwavを鳴らしたらち~んw珍現象が起きた 解決方法を知っている人がいたら、教えろ教えてください。 KitchenTimerクラス 前に、 akashi-keirin.hatenablog.com こういうものを作ったら、職場で割とウケたので、「残り時間を表示するカウントダウンタイマ…

ユーザが選択したファイル名を取得する(6)

ユーザが選択したファイル名を取得する これまで ユーザが選択したファイル名を取得する(1) ユーザが選択したファイル名を取得する(2) ユーザが選択したファイル名を取得する(3) ユーザが選択したファイル名を取得する(4) ユーザが選択したファイル名を取得…

ユーザが選択したファイル名を取得する(5)

ユーザが選択したファイル名を取得する 一応、前回 akashi-keirin.hatenablog.com のつづき。 FileDialogFiltersオブジェクトの設定 前々回のリスト1では、FileDialogFiltersオブジェクトを設定するのに Dim fpDialog As FileDialog Set fpDialog = Applica…

フォルダ構成だけをコピーするけどアルバムアート画像はやっぱりコピーする

楽曲データフォルダのフォルダ構成だけをコピーする(アルバムアートだけはコピーする) このとき akashi-keirin.hatenablog.com の続き。 フォルダ構成だけをコピーするんだけど、アルバムアートファイルだけはコピーする。 私の場合、アルバムアートは、全…

Worksheet.Copyメソッドの改良?

[Worksheet].Copyメソッドの改良? [Worksheet].Copyメソッドについて、「オブジェクト ブラウザー」で調べてみると、 Sub、つまりvoidメソッドであることがわかる。 たぶん、プロがやったことなので、あえてvoidメソッドにしたことには意味があるのだとは思…

再帰処理に初挑戦

再帰処理に初挑戦 前回 akashi-keirin.hatenablog.com の続き。 Foobar2000用の音楽フォルダ管理の話。 とりあえず、フォルダの中身はコピーせずに、フォルダ構成だけを別フォルダにコピーしたい。 任意のフォルダ内の子フォルダだけを別のフォルダにコピー…

TextFileクラスは今……

TextFileクラスは今…… akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com テキストファイルを扱うことがあって、久しぶりに引っ張り出してみたら、いろいろと不具合が見えてきたので、修正した。 TextFileクラスの現在の姿 かつてのTextFileクラス…

目障りなエラーチェックマークを除去する

目障りなエラーチェックマークを除去する 状況 セルに数字を文字列で書き込んだ場合、 このように実に目障りなことになる。 セルの左隅の緑色のスピードくじを一掃したい。 スピードくじを一掃するメソッド おなじみMicrosoft DocsのRange.Errors propertyの…

foobar2000の楽曲再生データを編集するためのモジュール

foobar2000の楽曲データをいじくるためのモジュール 作ったので公開。 コード foobar2000のPlaybackStatisticsでエクスポートできるXMLをいじくるためのメソッド集的なモジュールを作成した。 一挙公開する。(2019/9/16更新) リスト1 標準モジュールFB2KU…

抽籤マクロ(Excel)

順番の抽籤をする 研修会とかそういう機会に、発表の順序を決めるとき。 自薦方式をとったり、じゃんけんで決めてもらったりするのも良いが、Excelでやってみてもいいんではないか、と思った。 準備 次のようなシートを準備。 「抽籤!」ボタンをクリックす…

語順整序英作文問題を作成するマクロ

おれならこう書く(余計なお世話) Twitterを眺めていたら、 thunder0512.hatenablog.com こういうものを発見。 面白そうなので、〈おれならこう書く〉ってのをやってみようかな、と。 元記事の筆者さんにとっては、完全に 余計なお世話 だと思いますが、見…

ランダム座席表マクロ

ランダム席替えマクロ 作ってみた。 座席表の枠を作ったシートの機能なので、シートモジュールに生やしてみた。 準備 ランダムに並べるために、乱数発生用のメソッドを用意する。 今回は、標準モジュールにRandUtilと名前を付け、RandUtilモジュールのメソッ…

中途半端に規則的な数列

中途半端に規則的な循環数列を簡単に実現する Excelで座席表なんかを作る場合を想定。 表示用シートに こんな枠を作っておいて、VLOOKUPなんかで こういったデータ用シートから値を引っ張ってくる。 各座席の左上のセルに番号を入力したら、必要なデータが残…

TextFileクラスの改良

TextFileクラスの改良 「改良」なのかどうかはわからんが。 ちなみに、元祖TextFileクラスについては、 akashi-keirin.hatenablog.com コチラをどうぞ。 改良後のTextFileクラス リスト1 クラスモジュール 'オブジェクト名はTextFile' Option Explicit 'Con…

Personsクラスの改良

Personsクラスの改良 前回 akashi-keirin.hatenablog.com のPersonsクラスをちょこっとだけ改良する。 PersonsクラスのextractNamesメソッドは、その名のとおりPersonインスタンスのNameプロパティの値だけを指定したセルを開始位置として転記するものだった…

Rangeオブジェクトが矩形かどうかを判定する(Excel)

Rangeオブジェクトが矩形かどうかを判定する Rangeオブジェクトに入っているセル範囲は、必ずしも連続した矩形領域であるとは限らない。 [Ctrl]を押しながら選択すれば、飛び地状態で選択できるし、飛び地状態で一つのRange型変数にぶちこむことだってできる…

次の素数を取得するFucntion

次の素数を取得するFunction 数字を受け取って、その数字よりも大きい最小の素数を返すメソッドを作った。 コード リスト1 標準モジュール Private Function getNextPrimeNumber( _ ByVal targetNumber As Long) As Long Dim ret As Long ret = targetNumbe…

素数かどうかを判定するFunction(2)

素数かどうかを判定するFunction(2) 前回 akashi-keirin.hatenablog.com をちょこっと修正。 割り算の試行は平方根近似値までで良い 高校生が実に明解に説明してくれていた。 www.higashi-h.tym.ed.jp 富山県立富山東高等学校の諸君、本当にありがとう!!!!!!…

素数かどうかを判定するFunction

素数かどうかを判定するFunction 久しぶりの投稿。 素数かどうかを判定するメソッドを自作してみた。 その前に前回の記事の恥ずかしい誤りを訂正せえよ、と思っていますが。 コード ごちゃごちゃなしで、書いたコードをぶちまける。 リスト1 標準モジュール…

オブジェクト名を指定してWorksheetオブジェクトを取得するFunction(Excel)

オブジェクト名を指定してWorksheetオブジェクトを取得するFunction(Excel) CodeNameプロパティというものがある akashi-keirin.hatenablog.com コチラの記事のコメント欄が炎上wしたことにより、CodeNameというプロパティの存在を知った。 CodeNameプロパ…

シート名の変更を検知する(Excel)

シート名の変更を検知する(Excel) 各所から集めた大量のExcelブックを処理するとき、配布した様式ブックに保護をかけ忘れると、それはもう、好き放題にシート名をいじくられるw マクロで処理しようにも、シート名とかシートの順序を変えられると、ちょっと…

自身のインスタンスを返すクラス

自分自身のインスタンスを返すクラス Attribute VB_PredeclaredId = False のとき クラスモジュールをデフォルトで使うときは、 Attribute VB_PredeclaredId = False である。 このとき、クラスのメソッドやプロパティは、インスタンス化した後でないと利用…

ファイル名が重複しているときに自動ナンバリングしたファイル名を返すメソッドの改良

ファイル名が重複しているときに自動ナンバリングしたファイル名を返すメソッドの改良 akashi-keirin.hatenablog.com これの改良。 改良後のコード 前回は、イマイチFileSystemObjectを使いこなせていなかったので、FileSystemObjectの実力をもっと活用しよ…

foobar2000の日付時刻データをDate型の値に変換する

foobar2000の日付時刻データをDate型の値に変換する Date型の値を、foobar2000独自の日付時刻文字列に変換するのは akashi-keirin.hatenablog.com で作成済み。 今度は、その逆をやってみる。 考え方 foobar2000のPlayback Statisticsでは、再生日時を18ケタ…

ファイル名が重複するときに自動ナンバリングする

ファイル名が重複しているときに自動ナンバリングしたファイル名を返すメソッド 頭の体操に作ってみた。 ExportAsFixedFormatメソッドで新規ファイルを作成したときなんかに、同一名のファイルが存在したときの対策用。 たとえば、保存先に「ち~んw.pdf」…

ワークシートを任意の名前の軽量PDFにする

軽量PDFに任意のファイル名を付ける ワークシートの軽量PDF化 ExcelのワークシートをPDF化するとき、ExportAsFixedFormatメソッドを用いると、非常に軽快に動作する反面、出来上がったPDFドキュメントのサイズが異様に大きくなってしまう。 JUST PDF等のPDF…

foobar2000のPlayback Statisticsを編集するマクロ(2)

foobar2000のPlayback Statisticsのデータを編集するマクロ とりあえず成果物を晒す 細かいことは後回しにして、ひとまず今回の成果物を晒しておくことにする。 バグ対策とか、操作ミス対策は(個人的に用いるツールゆえ)不十分だけれど、なかなかうまく出…

Property Get プロシージャを作るFunction

Property Get プロシージャを作るFunction 最近やたらPropertyを多用しているので、Propertyプロシージャを書くのが面倒になってきた。 特にProperty Getなんて同じパターンの繰り返しが多いので、Functionにしてやった。 Property Getを作るFunctionのコー…