2019-03-01から1ヶ月間の記事一覧

マクロ無しで転記と同時に自動並べ替え(種明かし)

マクロ無しで転記と同時に自動並べ替え(種明かし) akashi-keirin.hatenablog.com の種明かし……ですが、最初に断っておきます。 怒らないでくださいよ! いや、ホントに。 おわび 実は、この画面。 一部、文字色をセルの背景と同じ(要するに、今回の場合は…

マクロ無しで転記と同時に自動並べ替え???

値の自動並べ替え??? 今日、職場で面白いアイディアに出会った。 同僚が、「日付の順番がデタラメに並んでいても、別シートに日付順に転記されるはずなのに、その機能が失われている。どうなっているのか見てほしい」と言うので、そのExcelブックを見てみ…

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

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

Enumの研究(3)

Enumの研究(3) こいつら akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com の続き。 今回はちょっと手の込んだことをする。 組み込みプロパティ名と衝突した場合のち~んw珍現象 まず、Sheet1に次のような表を作成しておく。 次に、Sheet1モジュ…

Enumの研究(2)

Enumの研究(2) 前回 akashi-keirin.hatenablog.com の続き。しつこくEnumを追究することにする。 組み込みプロパティ名との衝突 たとえば、Enum「Hoge」に「Name」という要素を持たせてみる。 リスト1 標準モジュール宣言セクション Public Enum Hoge Name …

Enumの研究(1)

Enumの研究(1) コードの可読性を上げる一つの方法として、 Enumを適切に使う というものがある。 ずいぶん前からEnum自体は使っていたが、最近やっと適切な使い方が定まってきたように思うので、Enumについていろいろ実験したことを書き留めておく。 Enumの…

「Any型」の追放に成功した

Any型の追放に成功した akashi-keirin.hatenablog.com これの続報。 この記事には、id:imihito さんからコメントをいただいていた。 曰く、 記事の `Call MoveMemory(lpMemory, VarPtr(strText), lngSize)` に関しては`VatPtr`を`StrPtr`にするとどうなるで…

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

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

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

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

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

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

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

foobar2000のPlayback Statisticsのデータを編集するマクロ えらい久しぶりに、foo_playcount.dllをアップデート(Verなんぼかわからん。2011年のヴァージョンみたい。)したら、どうも再生記録の保存方法が変わったようで、これまでの再生記録が全部リセッ…

Law型? Any型?

「Law型」、「Any」型の意味がわからない ※私が所有しているのは、「Second Edition」じゃない方です。 『VBA Developer's Handbook』に載っていた、Clipboardクラスのコードの中で、WindowsAPI関数を宣言するところがある。 その中に、意味のわからない箇所…

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

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

シートモジュールへのインターフェース実装の代案

シートモジュールへのインターフェース実装の代案 ごく一部の(?)VBAerの間では、「シートモジュールにインターフェースをImplementsすると派手にバグる」というのは有名だと思う。「ごく一部で有名」であるということを「有名」と称するのかどうかはとも…

同じ値のセルを結合する~再び~

同じ値の連続セルを結合する 年度末の後始末及び次年度の準備をしていく中で、だいぶ前 akashi-keirin.hatenablog.com で作成したメソッドに重大な欠陥があることに気付いたので、根本からやり直した。 重大な欠陥 前回のやり方は、セルを上から順にスキャン…