2015-01-01から1年間の記事一覧
最近購読しはじめたブログに、こんな記事が掲載された。 risa.hatenablog.com素晴らしい紹介記事だ。早速Kindle版書籍を購入した。さて、ちょっと上の記事とは趣旨は違うかもしれないけれど、私も「語彙力」について温めていたネタがあるので、いい機会だか…
表記の件、こういうことである。これはAndroid Emulatorの起動画面である。androidと書かれているのだが、aとdが隠れてしまっている。ナンダコレハ。今回使用したインストーラーは「android-studio-bundle-141.2288178-windows.exe」。 本日時点で公式から取…
私は以前、仕事で某社の社内ヘルプデスクにいたのだが、そこではパソコンの調達も担当していた。社内で選定したパソコンのカタログから商品を選んでもらうのだが、ときどき32ビットWindowsに6GBとか8GBのメモリを積もうとする方がいらっしゃった。とにかくメ…
先日書いた記事がGoogleで検索できるか試していたところ、場合によっては誤解されそうな概要が表示されていることに気付いた。上の記事では、VBAでシェイプの重なりを判定する方法について述べているが、概要だけ見ると「なんだ、結局できないという話か」と…
多次元の動的配列を作ることがある。コードはこういう感じだ。 Dim Arr() As Byte ReDim Arr(1 To 3, 1 To 3) 最初のReDimは拡張というよりは初期化なので、これはうまくいく。3×3のサイズの配列なので、イメージとしてはこんな感じだろうか。 ところでこの…
今回の記事では、VBAでシート上のシェイプをすべて走査してどのシェイプと重なっているかを表示させるところまでを紹介する。 具体的なグループ化については今のところまだ完成していないので取り扱わないが、今回の記事がスラスラ理解できるレベルの方なら…
この記事は事務員・運用担当者など、非開発職の方々を対象としている。 プログラマーとして雇われ、業務でプログラムを作成している場合はここに書いていることは当てはまらないので注意してほしい。さて、VBAでは、IfやForなどの基本的な構文と、RangeやWor…
オブジェクト変数を使い終わった後、必ず変数にNothingをセットしているコードが多いが、実はあれは別に無くても良い。Nothingを代入することでオブジェクトが破棄されると思っている方も多いと思うが、厳密には違う。オブジェクトの破棄のタイミングは、オ…
次のフォームをご覧いただきたい。 普段からキーボードで入力されている方はご存じだと思うが、ひとつの項目を入力し終わったとき、Tabキーを押すと次のテキストボックスにカーソルが移動する。 実はテキストボックスのTabIndexプロパティには数値が入ってお…
コンボボックスといえば、私がこの世で最も嫌いなユーザーインターフェースの一つである。皆さんも一度くらいこういう使われ方をしているコンボボックスを見たことがあるだろう。 例えば紙のアンケート用紙10,000枚を手渡されて、このインターフェースで都道…
VBAには標準モジュールのほかに、クラスモジュールというものがある。 クラスモジュールについて調べようと思っても日本の書籍ではあまりきちんと解説されておらず、主にネットから情報を得ることになる。 使い方についてはまだ情報が存在するのだが、「使い…
以前このブログでも紹介したが、セル範囲と2次元配列は相互に変換できる。thom.hateblo.jpたとえばこんな風に。 Sub セルから配列へ() Dim Arr() As Variant Arr = Range("A1:Z100") End Sub Sub 配列からセルへ() Dim Arr(1 To 100, 1 To 26) As Variant Ra…
オブジェクトを扱うときに登場するNewキーワード。おそらく以下の2種類の使い方が一般的かと思う。まずは、変数へ新規インスタンスをセットする際に使うNew。 (以下のObjectには任意のオブジェクトが入る。例:Collection) Dim obj As Object Set obj = New O…
ソフトウェア開発の名著「ピープルウェア」を完読した。ピープルウエア 第3版作者: トム・デマルコ,ティモシー・リスター,松原友夫,山浦恒央出版社/メーカー: 日経BP社発売日: 2013/12/18メディア: 単行本(ソフトカバー)この商品を含むブログ (10件) を見…
VBAでコーディングしていると、いつのまにか大量のコードウインドウを開いている。 普段最大化して使っている分には困らないのだが、ときどきモジュールを並べて表示させたいときがある。 一応VBEのメニューにはウインドウを整列させるコマンドがあるのだが…
コンピューター用語としてよく登場するバイナリー。実行ファイル(exe)のことをバイナリ―と呼んだり、二分探索をバイナリ―サーチと呼んだり、2進数のことをバイナリ―と呼んだり、VBAでテキストの大文字小文字を区別して比較するときのモードがバイナリー比較…
Excelのある列からVBAで値を探す方法はいくつかある。今回はこのようにExcelの全行に値を敷き詰めて、それを検索してみようと思う。 探すもなにも、そのまま行番号なのだが、VBAでの検索用サンプルとして大量の値が欲しかったのでこれで妥協することにした。…
Excelで作成されたマニュアルをWord化したい場合がある。 一旦PDFにしてから読み込んでくる手もあるが、あとで色々と機能を付け足すためにもマクロでやってみたいと思う。Excelマニュアルは、以下のように文字と画像が交互に配置されているものを想定してい…
VBAでソートプログラムを探すと割と簡単に見つかるが、ほとんどが配列をソートするものだ。 今回私が仕事で使うとあるマクロの作成中、コレクションのソートが必要になったので方法を紹介しようと思う。 必要な命令を自作する まず、どのようなソートであれ…
先日以下の記事で、スクリーンショットを撮るたびに自動でシートに張り付けるマクロを紹介した。thom.hateblo.jp割とうまくいったのだが、実行中にタスクバーから他のExcelへ切り替えができないことが判明した。 サーバー管理業務でマニュアルがExcelで作ら…
脳について 脳という器官は、科学的にまだ解明されていない。 そのため脳科学と称した書籍や情報には憶測や素人考えのものが多いらしい。 そもそもWikipediaの脳科学という単語を調べると、「神経科学の俗名であり、専門的・学術的な文献ではあまり使われな…
たとえば以下のように体系化された知識というのを思い浮かべてほしい。学問でも、業務でも、プログラミングでもなんでも良い。 想定は独学でも人に教わるでも良いのだが、教える側あるいは書籍などがいくら体系的に説明したところでなかなか一筋縄ではいかな…
先週末の三連休にスーパー銭湯に出かけ、ソフトウェア開発の古典「人月の神話」を読了した。この本である。人月の神話【新装版】作者: Jr FrederickP.Brooks,Jr.,Frederick P. Brooks,滝沢徹,牧野祐子,富澤昇出版社/メーカー: 丸善出版発売日: 2014/04/22メ…
今回はボタンを押すとフォームのテキストボックスをクリアするマクロを作成していたのだが、どうもテキストがクリアされるまでが遅く、ハマってしまった。前にも似たような内容でハマったことがあるので、いいかげん忘れないようにここに記しておく。 事象の…
私は仕事でサーバー管理をしているが、作業を行う際にスクリーンショットで証跡を残す必要がある。Alt+PrintScreenでカレントウインドウをキャプチャ―し、Excelに切り替えてCtrl+Vで張り付ける。 作業終了まで延々とこれを繰り返す。WinShotのようなツールを…
ネットのサンプルなどでは、まれに以下のようなインデントされていないコードがある。 Sub FizzBuzz() For i = 1 To 100 If i Mod 15 = 0 Then Debug.Print "FizzBuzz" ElseIf i Mod 3 = 0 Then Debug.Print "Fizz" ElseIf i Mod 5 = 0 Then Debug.Print "Bu…
プログラムを組んでいると、「フラグAがTrueのとき、フラグBの状態を反転させたい」というシチュエーションに出くわすことがある。If文を使うと次のように書ける。 If フラグA Then フラグB = Not フラグB End If しかし、Xorを使用すると、次のようにIfを使…
VBAで扱えるクリップボードには2種類あり、ひとつはOfficeクリップボード、もうひとつはWindowsのクリップボードである。今回はWindowsのクリップボードを安全に扱う方法を解説する。 わざわざ安全にと書くのは、昨日クリップボード処理のマクロを書いていて…
ネットで色々と探したけれど、なかなかシンプルなコードが無かったので、可能な限りシンプルに、張り付けてそのまま動く形で公開しておく。 以下のマクロを実行すると、左から100ピクセル、上から35ピクセルの位置にカーソルが移動して、そこがクリックされ…
メイリオが異端だと思う理由について Windows Vistaあたりから標準搭載されるようになったメイリオフォント。 こうしてMS ゴシックやMS 明朝と比べてみると、非常に滑らかに見える。 画面上で綺麗に見えるので、好んで使っている人も多いと思う。しかし…