t-hom’s diary

主にVBAネタを扱っているブログです。

プログラミング

Javaでテキストファイルから特定文字列を含む行を除いてファイル出力

今回はJavaでテキストファイルから特定文字列を含む行を除外してファイル出力するコードを作ったので紹介。 コマンドライン引数で複数のキーワードを指定して除外できるようにした。 作成の経緯 このブログのアクセスログを分析する際、いつもダウンロードし…

そんなに沢山のソートアルゴリズム、意味あるの?って方へ

みなさん本日は情報処理試験お疲れ様でした。 (私は今回申し込みすらしてないけど)本当は試験前にこの記事を書きたかったんだけど文章悩んでるうちに試験が終わってしまった。まぁ今回ダメだった方、決意を新たにした方もいると思うので一応公開するか。さ…

オブジェクト指向における「メッセージ」とは何か

現在主に認知されているオブジェクト指向 私がオブジェクト指向というとき、それは基本的にC++から始まりJavaに受け継がれた、あのオブジェクト指向を指す。つまり、カプセル化、継承、多態性で説明されるアレだ。VBAは継承、多態性のサポートがほとんど無い…

オブジェクト指向の本質はカプセル化 ~継承も多態性も脇役にすぎない

ずいぶんと挑発的なタイトルをつけてしまったが、継承や多態性が重要でないなどというつもりはない。 ただオブジェクト指向の本質はどれかと言われると、やっぱりカプセル化だろうなと。 オブジェクト指向とは オブジェクト指向とは、データや機能をまとめて…

変数・関数・オブジェクトが「いまひとつ分からない」という感覚の正体を考察

プログラミングでは日常生活であまり耳にしない言葉がたくさん出てくる。たとえば、変数・関数・オブジェクトなど。説明を聞いてスッと理解できる方もいれば、なかなか意味が分からずに苦労したという方もいるだろう。さっぱり分からないということはない。…

Pythonスタートブックのレビュー ~徹底して比喩表現にこだわった良書

先日から気になっていた書籍 Pythonスタートブックを買ってきたのでレビューしようと思う。Pythonスタートブック作者: 辻真吾出版社/メーカー: 技術評論社発売日: 2010/04/24メディア: 大型本購入: 19人 クリック: 199回この商品を含むブログ (59件) を見る…

プログラミングの入門に必要なのは「おお、すげー!動いた!」という体験。小難しいことは後回し。

こちら、最近たまたま昼休みに書店に立ち寄る機会があり、ふと手に取った書籍。アイディアを実現させる最高のツール プログラミングをはじめよう作者: 池澤あやか出版社/メーカー: 大和書房発売日: 2015/03/22メディア: 単行本(ソフトカバー)この商品を含…

九九、FizzBuzz、じゃんけんの3つをプログラミングの「永字八法」に認定する

漢字の「永」の字には、書に必要な以下の技法8種が全て含まれている。 点 横画 縦画 はね 右上がりの横画 左はらい 短い左はらい 右はらい このことを永字八法(えいじはっぽう)というらしい。カッコイイ!つまり書の練習に「永」という漢字をチョイスすれ…

年初めなので昔挫折したことにまたチャレンジしてみる

皆さんあけましておめでとうこざいます。 さて、正月早々、私が何やってるかというと、コーディング。いつもと変わらないって?いやいや、今回はVBAではなく、こちら。Ruby on Rails 5 超入門作者: 掌田津耶乃出版社/メーカー: 秀和システム発売日: 2016/12/…

プログラミングの初期学習に写経が効く理由

新しいプログラミング言語を学習するにあたり、私がいつもはじめにするのはサンプルコードを見ながらそっくりそのままコーディングする、いわゆる写経である。書籍でコードをみていくら考えてもわからなかったことが、実際に自分でタイプしてみると「ああな…

VBA エラーは忌むべきものではなく、非常に重要な機能である

プログラマーなら誰でもエラーで悩んだ経験があるだろう。特に初心者の頃はなかなか思ったように動かずにイライラしたことがあるハズだ。しかしエラーは本来、忌むべきものではない。 プログラムエラーは現実世界で問題が起きる前に、「それは間違っている」…

VBAで「プログラマ脳を鍛える数学パズル」にチャレンジ

以前から気になっていた書籍「プログラマ脳を鍛える数学パズル」を買ってきた。プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)こ…

VBA 基本情報技術者試験に出てくる半加算器と全加算器をVBAコードで作って学習する

コンピューターは「電子計算機」と訳されるように、計算する機械である。 Youtubeを見ているときも音楽を聴いているときも、ゲームで遊んでいるときも、メールを読んでいるときも、CPUでは絶えず「計算」が行われている。さて、今回はそのコンピューターがど…

VBA オブジェクトとメモリの関係 ~ オブジェクトが参照型と呼ばれる理由

前回、VBAを擬人化して、変数が記号表によって管理されているというところまで書いた。※読んでない方はこちら thom.hateblo.jpさて、今回はオブジェクトがメモリ上でどう扱われるのかという話。次のコードで説明しようと思う。 Dim c As Collection Set c = …

VBAの特徴について ~歴史、利用者層、サポートするパラダイムと型付けの作法など

これまでVBAについて色々記事を書いてきたけれど、VBAってそもそもどんな言語なのか、自分が学んできたことを整理する意味でひととおり書いておこうと思う。 VBAの歴史をざっくりと説明 VBAの祖先はアメリカのダートマス大学で作られたBASICという教育用言語…

VBA クラスという用語は「類(るい・たぐい)」を指す言葉である。

これまでクラスモジュールについて扱ってきたけど、言葉の意味を知らないままクラスクラス言っててもなかなかその本質的なイメージをつかむことは難しいと思う。やはり人間、なじみのない言葉で何かを覚えようというのは無理がある。そこで今回はVBAは一旦脇…

amazonアソシエイトのウィジェットがChromeで自動再生されなくなったのでランダムに商品を並べる機能をJavaScriptで自作する。

このブログはamazonアソシエイトに参加しており、その広告収益を運営費に充てている。 先日までこのブログのサイドバーにはA8.netの固定バナーを表示していたが、まったく収益になってなかったので、そちらを削除して空いたスペースにおススメの小説を掲載す…

プログラミングだって立派な趣味だ

家でプログラムを書いているという話をすると、仕事中毒だと言われることがある。わざわざ休日に家で仕事をしているつまらない奴だと思われているようで癪である。でもプログラミングだって立派な趣味だ。絵を描いたり、作曲したりするのと同じ、創作活動だ…

VBA 式と式の評価 ~数式だけが式じゃない~

プログラミングの世界では式の評価という言い回しが登場する。 VBAの書籍では見かけない言い回しであるが、関数やオブジェクトの動作について説明・理解するのに便利な概念なので覚えておくと良い。式といえばまず数式をイメージする方が多いだろう。あの忌…

トランプを使ってマージソートを理解する。

これまでアルゴリズムに強くなりたいと思いながら、有名どころは二分探索、バブルソートくらいしか書けなかった。 そこで、マージソートにチャレンジしようと思ったのだがなかなかうまくいかず、今日ようやく動くものができた。まぁネットで探せばマージソー…

JScriptでfor eachの代わりになるEnumeratorオブジェクト

【注意】JScript限定です。JavaScriptでは使えません。先日、JScriptで起動中のIEからURLを取得するコードを書いた。 thom.hateblo.jp本当はVBSのFor Eachみたいなもので数を意識せずにループしたかったが、色々調べながらやってみたものの同じような処理は…

WSH/JScriptで起動中のIEからURLを取得する。

先日買ったJavaScript本のコードを何度か写経して、そろそろ自分でもコードを書いてみたくなった。 thom.hateblo.jpそこで、普段仕事でもよく使うIE操作のテクニックの準備段階である、開いているIEのURLを取得するコードを書いてみることにした。普段はExce…

仕事がはかどるJavaScript活用術を購入

書店で前から気になっていた書籍を購入した。仕事がはかどるJavaScript活用術─Word/Excelで自動処理して効率アップ作者: クジラ飛行机出版社/メーカー: 日経BP社発売日: 2014/09/20メディア: 単行本この商品を含むブログ (1件) を見るWindowsは「Windows Scr…

VBA オートメーション、参照設定、ライブラリ、タイプライブラリ、DDE、COM、OLE、ActiveXなどの用語整理。ついでに.NETも。

VBAには外部オブジェクトを操作するために参照設定という機能が用意されている。そういう機能だと割り切って使用する分には何ら問題はないのだが、参照設定の仕組みなどに興味を持ってしまうと、高い確率でタイプライブラリやCOM、ActiveXなどのの単語に出く…

Android開発環境構築で丸一日ハマった ~ Android Virtual Device(AVD)のディスプレイがエミュレーターに収まらない。

表記の件、こういうことである。これはAndroid Emulatorの起動画面である。androidと書かれているのだが、aとdが隠れてしまっている。ナンダコレハ。今回使用したインストーラーは「android-studio-bundle-141.2288178-windows.exe」。 本日時点で公式から取…

独習C 第4章(データ型、変数、式の詳細)まで完了

直近では小学生のドリルを解きつつも、気分転換にCの学習も進める。先日から何度も紹介しているこちらの書籍である。独習C作者: ハーバートシルト,柏原正三,Herbert Schildt,トップスタジオ出版社/メーカー: 翔泳社発売日: 2002/09メディア: 単行本 クリック…

Cの学習とVBAとの比較 その4 ~変数宣言とスコープ

本日も独習C。独習C作者: ハーバートシルト,柏原正三,Herbert Schildt,トップスタジオ出版社/メーカー: 翔泳社発売日: 2002/09メディア: 単行本 クリック: 18回この商品を含むブログ (25件) を見るこの本の学習で一番驚いたのは、変数宣言はすべてブロックの…

Cの学習とVBAとの比較 その3 ~制御文を比べてみる

独習Cの進捗は21%。 ようやく制御文が終わったところ。独習C作者: ハーバートシルト,柏原正三,Herbert Schildt,トップスタジオ出版社/メーカー: 翔泳社発売日: 2002/09メディア: 単行本 クリック: 18回この商品を含むブログ (25件) を見る前回Cのforループが…

Cの学習とVBAとの比較 その2 ~Cのforループは極めて柔軟

本日もCの学習。独習C作者: ハーバートシルト,柏原正三,Herbert Schildt,トップスタジオ出版社/メーカー: 翔泳社発売日: 2002/09メディア: 単行本 クリック: 18回この商品を含むブログ (25件) を見る書籍によると、 ほかのプログラミング言語と比べると、Cの…

Cの学習とVBAとの比較

先日購入した以下書籍にて、C言語の学習中。独習C作者: ハーバートシルト,柏原正三,Herbert Schildt,トップスタジオ出版社/メーカー: 翔泳社発売日: 2002/09メディア: 単行本 クリック: 18回この商品を含むブログ (25件) を見るのんびりやっているので、進捗…

プログラミング あなたは何タブ派? そもそもTabキーとは。

多くのテキストエディタはタブキーを押すと標準では半角スペース8個分の空白が確保される。これを略して8タブという。 しかしプログラミングでインデントとして使用するタブは要は段差が確認できればそれで十分なので、8タブだとブロック構文がネストしたと…

関数型言語 MAPとは何か

今回はVBAネタではない。とあるブログにmapとeachで混乱したと書かれていたので、ちょっとネットで調べてみたところ、結構違いがわからないという意見もある模様。VBAにmapに相当する機能は無いけれど、一般的なプログラミングの知識として役立つかなと思っ…

プログラミングなどの集中力のいる作業に最適なBGMは

自宅でプログラミングなどの集中力のいる作業をすると、音楽を聴いている人も多いと思う。職場によっては、仕事中にヘッドフォンで音楽を聴けるところもあるとのこと。 会社としてもヘッドフォンを許可するくらいで開発効率が上がるなら安いもんだ。 実にう…

Visual StudioのコマンドツールでCをコンパイル

Cの学習はVimエディタでやると決めていた。そうなると、CygwinかMinGWなどの疑似Unix環境でGCCを使うのが楽かなと思っていたのだが、早速始めたいのに環境構築からというのは萎える。 そういえば、OracleのVirtualBoxにDebianを入れていたなーと思い出して起…

C言語を学びなおし

このブログで扱っているのはVBAのネタがメインである。 VBAについては、かなり掘り下げて勉強しているつもりである。しかし、最近はもう掘っても掘っても新しい発見がなくなりつつあるので、ここらでちょっと別の言語をやってみようと思った。 といっても、V…

Office TANAKA 田中亨さんの名言を勝手に補足

※本人の意図を代弁するものではありません。Office TANAKAの田中亨さんが代表理事を務める実践ワークシート協会のサイト(http://www.pwa.or.jp/)に以下のようなキャッチコピーがある。 マクロの速度なんて二の次。 裏技を使ってマクロを1分速くした。それを…

アスペクト指向について調べた結果、VBAではどうにもならないことが判明

まぁ、VBAでどうにもならないってのは当然予想していた結果だが、たまに見かけるアスペクト指向とは何なのかが少し理解できたので紹介する。簡単に言うと、オブジェクト指向の弱点を克服すべく生まれた新しい手法である。 (新しいとは言っても登場してから…

Excelのデータ転記ツールを作成した。

作ったのは2014年の後半だが、今更ながら公開することにした。 (当時はネット上で何かを公開するという発想を持っていなかった。)紹介動画はさっき作ってYouTubeにあげたもの。 ※ただなぜか再生ボタンを押すとセーフモードで閲覧できないと表示される。 Ex…

VB.NETでキーフック

デザインパターンの学習は順調である。いまのところそれについては語るネタがないので、今回は以前よく作っていたVB.NETのネタ。 バージョンはWindows 7標準の.Net 3.5.1以上をターゲットにしている。 Excel VBAに貼り付けても動かないので注意。 C#のサンプ…

デザインパターンの学習

Eclipseの基本操作が分かったところで、2年ほど放置してた積ん読本(以下)でデザインパターンの学習を始めた。増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入…

Javaを少々

また本を買ってしまった。 これ。Eclipse4.4 完全攻略 (完全攻略シリーズ)作者: 石黒尚久出版社/メーカー: SBクリエイティブ発売日: 2014/10/27メディア: 大型本この商品を含むブログを見るJavascriptでVBAチュートリアル作ろうとしたり、VBAでゲーム作ろう…

ゲームしながらプログラミング学習になるソフトRoboCode

土曜に以下の本を買ってきた。Robocodeで学ぶ一歩先のJavaプログラミング作者: 平田敦出版社/メーカー: カットシステム発売日: 2014/11メディア: 単行本この商品を含むブログ (1件) を見る前から気になっていたが色々と他にやりたいこともあってなかなか手が…

C系とVB系、それぞれの好きなところ、嫌いなところ

CとVB系のそれぞれ好きなところ、嫌いなところを書いてみる。これは私の個人的な好き嫌いであって、言語の優劣を議論するつもりはない。 こういう視点もありますよということで読んでもらえればと思う。VB系はVBファミリー(VB6、VBA、VBS、VB.NET)のことであ…

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。