2019-01-01から1年間の記事一覧
前回ローソク足で体重管理するという記事を書いた。 今回はプログラミングと全く関係ないけど、まぁ前回記事を書いてからそろそろ2週間だし経過報告しとかないとどうせ三日坊主だろとか思われるものアレなので。。てな感じで現在のグラフがこちら。 1カ月で1…
先日、別の記事で紹介した自動体重記録システムだが、このなかにローソク足チャートを表示させたいというものがある。 今回はプログラミング関係ないけど、これをちょっと説明してみようかと。 ローソク足チャートについて ローソク足チャートは主に株の値動…
今回のマクロは、数値をふりがなに変換するマクロの紹介。 例えば1なら「いち」、290なら「に / ひゃく / きゅう / じゅう」という具合だ。これの何が難しいかというと、単純に数値の読み「1~9」と位の読み「じゅう・ひゃく・せん」を組み合わせればできる…
ちょっと最近太りぎみなのでそろろそマジでダイエットでもしようかと思い立ったところ、世の中には種々様々なダイエット法が存在していて、一体どうすれば良いのか混乱する。ただ基本的には、シンプルにこういう式で表すことができる。 摂取エネルギー > 消…
今回は電波の図形を作成するマクロを作った。 といってもサイン派みたいなのではなく、イラストでよくある電波でてますよーというアイコンみたいなもの。 下図のように基本図形の「円弧」を使って作画するのだが、手動でやるとどうにも綺麗にできないのでプ…
前回は筋トレ用メトロノームをGUI化した。 thom.hateblo.jpなるべく紹介済の機能に絞って書いたのでコードがとても冗長だ。 前回GUIパーツをそれぞれ変数に入れて扱っていたため、今回はPythonのデータ型(リスト、タプル、ディクショナリ)を使ってもう少しス…
前回の記事ではPythonで筋トレ用メトロノームを作成した。 thom.hateblo.jp前々回ではTkinterを使ったGUIのサンプルを紹介した。 thom.hateblo.jp今回は、これらを組み合わせて、GUI版の筋トレ用メトロノームを作成してみよう。 動作イメージ 動作は前回のCU…
前回の記事ではPythonでGUIを体験するプログラムを紹介した。今回はPythonで筋トレ用メトロノームを作成。 音がメインなので、GUIは作らないが、CUIでも十分実用的なプログラムが作れるということで紹介。 学習モチベーションUpに繋がると嬉しい。 実行イメ…
今回は、ちょっとPythonを触ってみたいVBA経験者に向けて、簡単なGUIサンプルを紹介する。 Excel VBAではマクロの実行結果がシートに反映されるので、ある意味それ自体がGUIプログラミングと言えるが、殆どの言語では黒い画面に"Hello, World!"から入門する…
前回作成したPythonのルーチン読み上げツールだが、GUIメニューを作ってそこから起動するような形にしてみた。 thom.hateblo.jp動機は、将来的にツールを増やしていく場合、Bashスクリプトのダブルクリックで起動するのが面倒だから。机に立てかけたタッチス…
最近Pythonをかじりだした理由として、Rapsberry Piで使う目的で日常ルーチンを読み上げてくれるツールを作ったことがきっかけ。※読み上げといってもテキスト合成ではなくて、単にwavファイルに入れておいた音声を再生するだけです。 タイトルでがっかりさせ…
プログラミングでは、ひとつの言語をマスターすれば、どんな言語でも使えると言われている。 この言説には賛否あるけど、ある意味正しくて、ある意味間違いだと思う。より正確に言えば、新しく学ぶ言語と既にマスターしている言語に共通する概念についてはス…
最近会社の会議でTDDが話題になった。 TDDとは何か?まずWikipediaを引用してみる。 テスト駆動開発 (てすとくどうかいはつ、test-driven development; TDD) とは、プログラム開発手法の一種で、プログラムに必要な各機能について、最初にテストを書き(これ…
開発中のマクロで、こまめに保存しておきたいケースがあったのでコードを書いてみた。 これは開発中のブックに埋め込んで利用する前提。私は標準モジュール「DevTools」に保存して使っている。 Sub BackupFile() 'Microsoft Scripting Runtimeへの参照設定が…
Excel VBAでフォームを作る際に、項目が多くてウインドウの高さに収まりきらないことがある。 そこで今回はスクロールによってフォーム全体をウインドウに収めるアイデアを紹介する。言葉では何がやりたいのか伝わりにくいと思うのでまずは動作イメージから…
今回は連続して値を投げ込み、その最大値・最小値を求めるクラスを紹介する。 かなりシンプルなのでわざわざ記録しておくこともないかなと迷ったけど、クラス初心者向けにはちょうど良いサンプルになりそうなのでとりあえず。 クラスモジュールのコード クラ…
VBEditorには呼び出し履歴という機能がある。たとえば、プロシージャProcAからプロシージャProcBを呼び出した際にProcBで実行時エラーを吐いて中断したとする。 このとき、中断モードでプロシージャ呼び出しを遡ることができる機能である。本記事ではこれを…
Debug.Print、Debug.Assertはいずれもデバッグ用の機能なので、リリース版のコードには不要である。 かといって消してしまうと、次にコードを修正するときに面倒なので残しておきたい。そこで代用クラスを作ってみたので紹介。まずクラスモジュールを挿入し…
最近Twitterで何件か、Debug.Assertについて語られているのを見かけたので乗っかってみる。Debug.Assertの使い方自体は以下で述べたので今回はその意義を中心に説明してみようと思う。 thom.hateblo.jp アサートとは Assertという英単語には、主張する・断言…
今回紹介するのは、複数アイテムの選択でよく見かけるDual Listbox UI。 一応説明しておくと、左のリストからアイテムを選択し、右へ移動させ、最終的に右にあるものが選択したアイテムとして扱われるユーザーインターフェースだ。構造はそれほど難しくない…
サービス業において、業務工数を見える化するというのはとても難しい。 実績ベースで工数入力をしている職場は多いと思うけど、実際のところその方法は担当者の匙加減で何とでもなってしまう。工数分析をしようと思ったら、工数は理論値で出して、実績との乖…
今回は特定日付が、第何週目の何曜日なのかを求める関数を紹介する。 といっても曜日はWeekday関数やFormat関数で簡単に求まるので、今回紹介するのは月のうちの何週目に相当するかを求める関数だ。まず、特定月のうち何週目に当たるのかは、次の関数で求め…
今回はパワポでよくあるこういうスケジュールスライドを作るVBAコードを紹介。 と言っても現段階では完成度は低いのであまり期待されると困ってしまう。ところどころハードコーディングしているし、クラスモジュール内でSelectionを参照しちゃってるし、変数…
ソフトウェアは一度作って終わりではなく、公開後もバグの修正や機能向上のため修正を繰り返すことになる。 マクロも同様で、通常はバージョン番号をつけて管理したりする。バージョン番号の付け方は特に決まっているわけではないが、一般的には次のルールに…
今回はWin32APIのGetAsyncKeyStateを使ってマクロ実行時に特定キーが押されているかを検知するコード。 この手の情報は既に沢山出ているが、検索したサイトはいずれも情報が完全ではなかったので少し苦労した。では、早速完成コードを紹介する。 今回はシフ…
先ほど新版を公開したところだけど、以前から悩んでいた機能がなんとか実現できそうな感じがしてきたので、取り急ぎコードだけここに書いておく。 thom.hateblo.jp 実現したい機能 たとえば下図のようなことをやりたいとする。 しかし、単純に列ごと切り取っ…
GitHubで公開しているフローチャート作成ツールをアップデートしたので変更点のご案内。 入手場所 こちらからアクセスしていただき、 github.com以下のDownloadボタンで入手できます。 更新内容 Configシートでシェイプの色を指定できるように変更 Process・…
今回は忙しすぎる人に確実にメールを読んでもらうためのテクニックについて自分の考察を紹介する。ここでいう忙しすぎる人とは、「忙しすぎて諦めの境地にいる人」のことだ。諦めの境地なので、基本的に人の頼み事なんて知らんぷり。電話しても日中に繋がる…
以下のような表を作ったとき、普通にオートフィットをかけるとA1セルに入力されたタイトルの幅もカウントされてしまい、幅がおかしくなる。 ↓AutoFit後 今回はこれを何とかするマクロ。元ネタはこちら。こういった表、よく作るんですが、列幅のオートフィッ…
たとえば、とあるデータを次のようなステップで加工しているとする。それぞれのマクロはボタンを押すだけで完了する。 だったら、わざわざ3つもボタンを押させる意味はあるのか。 普通はそう考える。そしてボタンを3つ押す作業を一つのボタンに集約する。こ…