VBA一般

Worksheet.Columnsプロパティの引数?

Worksheet.Columnsプロパティの引数とは? [Worksheet].Columnsプロパティの引数なんて、てっきりIndex As Variantだと思っていたのだが、みんな大好き『Office デベロッパー センター』のWorksheet.Columns property (Excel)の項には引数に関する記載がない…

CircleInvalidメソッドというものがある

CircleInvalidというメソッドがある 知ってました? 私は知りませんでした。 大絶賛シリーズPoweredSheetプロジェクトに取り組んでいるときに発見。 WorksheetクラスのメソッドにCircleInvalidというメソッドがあったのだった。 名前だけ見ても何をするメソ…

珍現象、解決(?)す

ち~んw珍現象、解決す ご心配をおかけしました。 前回 akashi-keirin.hatenablog.com のち~んw珍現象がなぜか解決いたしましたので、ご報告申し上げまする。ニンニン。 あまりにしょうもない顛末なので、怒らないように。 これまでの対処法 カウントダウ…

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

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

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

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

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

ユーザが選択したファイル名を取得する 前回までの三回 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com で、ユーザにファイルを選ばせるところまでたどり着いた。 いよいよ、選択させたファイルのフルパスを取得…

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

ユーザが選択したファイル名を取得する 前々回 akashi-keirin.hatenablog.com 前回 akashi-keirin.hatenablog.com の続き。 ファイルフィルタを設定する フォルダ選択と違って、ファイルには「種類」というものがあるので、いつもいつも「すべてのファイル」…

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

ユーザが選択したファイル名を取得する 前回 akashi-keirin.hatenablog.com の続きです。 ダイアログボックスのタイトルを設定する これはメッチャ簡単。Filedialog.Titleプロパティを設定すれば良い。 リスト1 Private Sub test() Dim fpDialog As FileDia…

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

ユーザが選択したファイルのパスを取得する Application.FileDialogオブジェクトを使います。 FileDialogオブジェクトとは おなじみ、Office デベロッパー センターのFileDialog Objectの項には、 Remarks Use the FileDialog property to return a FileDial…

標準モジュールのPropertyとは

標準モジュールのPropertyとは 標準モジュールにもPropertyを生やすことができる。 では、標準モジュールのPropertyとFunctionは何が違うのだろうか。 Fucntionならば、同名のPublicなものが他のモジュールにない限りはメソッド名だけで呼び出せる。Property…

テスト用メソッドもPrivete指定にする

テスト用メソッドもPrivete指定にする Privete指定でもVBE上で実行できる これは、考えてみたら当り前なんだけれど、全然気づいていなかった。 イミディエイト・ウインドウ上での実行 次のようなメソッド群を用意する。 リスト1 標準モジュール Private Sub…

コマンドボタンから呼び出すメソッドはPrivete指定で良い

Priveteメソッドでもコマンドボタンから呼び出すことができる 常識ですか? 私は存じ上げませんでしたので、今まで何でもかんでもPublic指定にしていた。 そのせいで、「マクロの登録」ウインドウなんかを開くと、 こんなひどい有様にw Privete指定のメソッ…

炎上wしたコメント欄への対応

炎上wしたコメント欄への対応 ※この画像はフランスジョークですw 大量のExcelブックと戦う業務があって、そのときに必要なシートの名前を勝手に変える人がちょこちょこいたせいで難儀したので、間に合わせでシート名が改変されたブックを検知するメソッド…

ErrObjectクラスはインスタンス化できない?

ErrObjectクラスはインスタンス化できない? よく、「Errオブジェクト」という言葉を目にする。 エラー処理に便利なのでよく使うのも事実。 今朝、不意に「オブジェクト? じゃあ、インスタンス化できるのか?」と思った。 やってみた テキトーにプロシージ…

Enumの研究(1)

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

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

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

インターフェース周りのち~んw現象

インターフェース周りのち~んw珍現象 前回 akashi-keirin.hatenablog.com のやり方は、別プロジェクト間でインターフェースを共有しようとしたのがそもそも間違いだったのかも知れん、と思い直して、やり方を変えてみた。 thom.hateblo.jp コチラを参考に…

ThisWorkbookモジュールにインターフェースを実装することはできるのか

ThisWorkbookモジュールにインターフェースを実装することはできるのか 前回 akashi-keirin.hatenablog.com ブックのThisWorkbookモジュールにメソッドを搭載したら、まるでブックのメソッドであるかのように呼び出すことができることを示した。 では、ThisW…

繰り返しを伴う処理をまとめる

フィールドコード総ナメ方式のプロシージャをまとめる 前回までの3回 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com で紹介したFunctionを使って、選択範囲のフィールドコードを総当たりで処理するプロシージャ…

飛び地状態のセル範囲にも名前を付けることができる(Excel)

飛び地状態のセル範囲にも名前を付けることができる Excel使いこなしマンには常識だったのかも知れないが、便利だなと思ったので記しておく。 飛び地状態のセル範囲に名前を付けてみる まず、 こんな風に、投げやりに文字列を入れておく。 別に入れなくても…

配列の要素を入れ換えるFunction

配列の要素を入れ換えるFunction 配列の要素を入れ換えるFunctionを作ってみた。 仕様 とりあえず、引数として当該の配列、入れ換え対象のインデックス番号二つを受け取り、入れ換え済みの配列を返すようにする。今回は、Long型の配列に対応する。 コーディ…

Object型変数を積極的に使う

Object型変数を積極的に使う 今まで、Object型の変数を積極的に使うことはなかった。 VBAで作成したツール類も、内輪で使うものばかりなので、CreateObjectを自分から使うことはまずなかった。参照設定してNewばっかりだった。 今回、Object型変数を使ったら…

RangeオブジェクトのNameプロパティのち~んw現象(Excel)

RangeオブジェクトのNameプロパティに関するち~んw珍現象 とにかくご覧いただきたい。 ち~んw珍現象 A1セルに「ち~んw」と入力 まず、このようにA1セルに「ち~んw」と入力しておく。 イミディエイト・ウインドウで名前を定義 イミディエイト・ウイン…

選択範囲のルビを除去する(Word)

選択範囲のルビを除去する 青空文庫(HTML版)からWordに文章をコピペすると、 こんなふうに、むやみやたらとデカいルビが設定されていて、レイアウトがめちゃくちゃになる。 ルビのサイズを小さくすることも考えたが、ひとまず選択範囲のルビを除去する方向…

「写経」用教材を作成する(Word)

「写経」用教材(?)を作成する Wordの「原稿用紙設定」機能 『一太郎』では、「文書スタイル呼び出し」(?)という機能で、コクヨ社の原稿用紙の書式を呼び出すことができる。んで、印刷するときに「升目を印刷する」というチェックボックスにチェックを…

記号は黒字、文字は白字にするマクロ

記号を黒字、文字を白字にする 前回 akashi-keirin.hatenablog.com を用いて、記号は黒字に、文字は白字にするメソッドを作った。 コード コードは次の通り。 リスト1 標準モジュール Private Sub changeFontColor(ByVal targetFont As Font) '……(1)' If is…

ThisWorkbookモジュールの謎

ThisWorkbookモジュールの謎 タイトルはちょっと大げさです。 しかも、謎を解き明かす気などさらさらなく、豪快に投げっぱなしジャーマンです。 ThisWorkbookモジュールを改名する プロジェクト エクスプローラーで、ThisWorkbookモジュールを選択し、プロパ…

ThisWorkbookとは何者なのか

ThisWorkbookとは何者なのか 案外、初歩的なことがわかっていない、ということを痛感したので、後の戒めのためにも残しておくことにした。 「ThisWorkbook」を使うことは非常に多い。VBAの場合、コードが書かれてあるブックが他のブックを操作する場面という…

ポート名(?)付きのプリンタ名を返すFunction

ポート名(?)付きのプリンタ名を返すFunction 前回、 akashi-keirin.hatenablog.com 前々回 akashi-keirin.hatenablog.com の集大成。 コード プリンタの名前を渡したら、ポート名(?)付きのプリンタ名を返すFunctionを作ってみた。 前回同様、オブジェ…

プリンタの数を返すFunction

プリンタの数を調べるFunction Application.ActivePrinterにプリンタ名をセットしたくても、プリンタ名の後ろにくっついている「on NeXX:」の部分がわからないとセットできない。 同じプリンタに接続していても、端末ごとに「NeXX:」の部分が異なるので困る…