VBAには型宣言記号による型宣言方法が存在する

型宣言記号?

カルチャーショックという程でもないけど、VBAには古いVBの名残り?として「型宣言記号」というものが存在した。VBAを勉強して数年は経っているにも関わらず知らなかった。軽く後頭部を叩かれたような気分になったので、メモることにした。

Option Explicit

''型宣言記号の確認コード
Sub TypeSymbol()

    ''文字列型
    Dim ss As String
    Dim ss_$ 'ドルマーク
    
    ''整数型
    Dim n As Integer
    Dim n_% 'パーセント
    
    ''長整数型
    Dim l As Long
    Dim l_& 'アンパサンド
    
    ''単精度浮動小数点型
    Dim f As Single
    Dim f_! 'エクスクラメーション
    
    ''倍精度浮動小数点型
    Dim d As Double
    Dim d_# 'シャープ
    
    ''通貨型
    Dim m As Currency
    Dim m_@ 'アットマーク
    
    ''バリアント型
    Dim v As Variant
    Dim v_ '型宣言記号をつけない
    
    ''型確認
    Debug.Print TypeName(ss) ' String
    Debug.Print TypeName(ss_$) ' String
    
    Debug.Print TypeName(n) ' Integer
    Debug.Print TypeName(n_%) ' Integer
    
    Debug.Print TypeName(l) ' Long
    Debug.Print TypeName(l_&) ' Long
    
    Debug.Print TypeName(f) ' Single
    Debug.Print TypeName(f_!) ' Single
    
    Debug.Print TypeName(d) ' Double
    Debug.Print TypeName(d_#) ' Double
    
    Debug.Print TypeName(m) ' Currency
    Debug.Print TypeName(m_@) ' Currency
    
    Debug.Print TypeName(v) ' Empty
    Debug.Print TypeName(v_) ' Empty

End Sub

上記コードでは各種型別に、通常の方法と型宣言記号による方法の2パターンの変数を記述した。型宣言記号は宣言した変数に続き付加する。例で用いた宣言方法の場合、変数名と型宣言記号の間にアンダーバーが含む。これは違いを区別するために使用しているだけである。本来つける必要はない。つまり文字列型の場合、ss$と記述して良い。

後半は、宣言した変数の型確認をおこなっている。見事に同じ型名が返ってくる。それ以上の発見は無かったが、まだまだ知らないことがたくさんあることを実感した。

ところかわり・・・

さて、型宣言記号の存在を知らなかったわけだが、知ったところでコードに優位性が生まれる気がまったくしなかった。もちろん記号による省略でコード記述量が減るため、負担軽減と時間短縮には貢献するのだろう。しかしこの記述方法は使用することによりコードの可読性を低下させる可能性がある。結果として負担が増えるのでは?と疑問を感じた。

これは今よりもコンピュータに積むメモリが少なかったことに起因しているように思う。VBAの登場は1994年前後。その頃は2~8MBぐらいが主流。メモリリソースがシビアだったころの面影かな?

ひとりでコードを書くならば、ちょっと特殊なコードを書いて「オレ、かっこいい!」みたいな中二病的自意識過剰自己満足全開でもよいだろう。しかし2020年代はプログラミング人口が増え始めると想定される。誰もがプログラムを書く時代になろうとしている。そして、いつ誰が自分のコードを参考にするか分からない。その時、合理的で読みやすい整った平均的なコードであれば、それを真似てより良いコードを書く人が増えるのではないだろうか。

何はともあれ、嫌われプログラミング言語No.1の汚名を持つVBA(VB)を題材にこんなことを書いている時点で、説得力はあまり感じてもらえないだろう。Officeのデファクトスタンダード言語かもしれないけど、将来はモダンな言語へ移行をお願いしたいところです。

Microsoft Wireless Mobile 4000

Microsoft Wireless Mobile 4000

ノートパソコン用にワイヤレスマウスを購入。

特徴

  • BlueTrack Technology採用青色LEDセンサー
  • 縦横4方向スクロールボタン
  • コンパクトで持ちやすい形状デザイン
  • 小型USBコネクタタイプのトランシーバー

購入動機

「やっぱりマウスはマイクロソフトだよね!」

現在使用しているノートパソコン(サブ)はThinkPad X220。長年使っている都合で、タッチパットやトラックポイントが徐々に誤動作するようになった。それが顕著になったのは今年に入ってから。ここ数か月騙し騙し使ってきた。ただ使用中に誤動作に気が取られ、キーボード操作が集中できない場面が多々あった。それも我慢の限界に達したため、購入に至る。

最初は、パソコンいじりも兼ねてキーボード部分のパーツ交換を考えました。モノ自体は4000~5000ぐらい。キーボード部分は特に不具合が出ていない。タッチパットとトラックポイントのために交換すべきなのか。特にトラックポイントこそがThinkPadの最大の特徴であり頂点(※X220等で採用されていた7列キーボード自体がノートパソコン史上伝説級に名高い。X230以降は・・・) 。それが使えないとなればThinkPadすら名乗れない。脳内無限ループ状態半月経過。

結論「もうマウスでいいや」

キーボード操作時、キーボードポジションから離れてマウスを操作する余計な動作を嫌っていましたが、もう古い機種なのでそこまでお金をかけないことで結論にいたる。

そして、使いやすい安価なマウスを求めた結果、このマウス購入に至りました。

ガタガタなThinkPad X220。無線LANもダメダメ、バッテリも2時間持たないかも。

久しぶりにマイクロソフトのマウスを触りましたが、「ああ、このフィット感!コレだよ!」と妙に懐かしく感じてしまった。

ThinkPadに限らず、他のノートPCでも使えるので、良い買い物ができてよかったと思うおっさんでした。

macOS Mojaveへ移行

macOS Mojave

・・・したら、HomebrewとXcodeが動作しなくなった。他のアプリケーションは今のところ影響ないようだ。

原因は不明だが、仕方ないので両方を再インストール。
昨日から何度インストール作業させるつもりなのか?

ところ変わって、Mojaveの感想。

噂?のダークモードは思ったよりいいんじゃないかな?目に優しそう。なんとなく没入感が増して集中しやすくなった・・・ような気がする。

ダイナミックデスクトップ?どうでもいいです。目障りなのでは?

スクリーンショットのスナップ機能が増えたらしい。画像加工時に試してみようかな。

なんか標準アプリケーションが増えたようだが、どうでもいいです。おそらく使わない。

Mac App Store・・・これは使いやすくなったのか?慣れの問題なのか?これはよくわかりません。

他にもいろいろ改善?しているらしいが、見栄え的インパクトではダークモードが一番印象深かった。

思ったこと淡々と書いたけど、基本的に何も変わっていない。変わらないことは良いことであり悪いことでもある。今回も同様に変わったのだろうが、もうmacは若者のような先進的なOSではなく、大人のような保守的なOSになったということかもしれない。

Homebrewのアンインストール方法

そろそろmacOS Mojaveに移行しようと思いながら、いまだにHigh Sierraを使い続けています。

さて、過去にインストールしたHomebrewを削除して、再インストールしたいと思ったので、そのメモを残しておこう。

Homebrewのアンインストール方法

Homebrew macOS用パッケージマネージャー
Homebrew Documentation FAQ

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

上記のスクリプトをターミナルで実行する。途中パスワードを聞かれたり、「本当に消すよ?」と確認されたりするけど、気にしない。

おまけ:Homebrewのインストール方法

せっかくなのでインストール方法を再掲しておこう。

まずは、Apple StoreよりXcodeをインストールする。
Homebrewをインストールするには、XcodeのCommand Line Toolsが必要なので、ターミナルより下記コマンドを実行しインストールする。

$ xcode-select --install

Homebrewのウェブサイトより、下記のスクリプトをターミナルにて実行する。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

正常にインストールされたことを下記コマンドで確認するとよいだろう。

$ brew doctor

Visual Studio Code拡張機能「Live HTML Previewer」

趣味でコードを書く場合、いつもお世話になっている「Visual Studio Code」。

HTML編集時、リアルタイムプレビュー表示してくれる拡張機能「Live HTML Previewer」が便利なので使用しています。

Live HTML Previewer

インストール方法

  1. 拡張機能([Ctrl+Shift+X])より、「Live HTML Previewer」を検索する。
  2. 表示された項目からインストールする。

使用方法

  1. [F1]もしくは[Ctrl+Q]より、コマンドリストを表示する。
  2. サイド表示する場合「Show side preview」フル表示する場合「Show full preview」を実行する。

確認の度にブラウザを立ち上げることもなく、コード編集しながらリアルタイムに確認することができるようになります。

ISO to USB

最近使用しているISOファイルをUSBメモリに書き込むソフトウェア「ISO to USB」をまとめてみる。

ウェブサイトからISO to USBをダウンロード

http://www.isotousb.com/

  1. ウェブサイトにアクセスし、[Download now]ボタンをクリック。
  2. インストール用ファイル[isotousb_setup.exe]を任意フォルダへダウンロードする。
  3. [isotousb_setup.exe] を実行してインストールする。

ISO to USBを実行する

  1. ISO Fileグループの[Browse]ボタンより、任意isoファイルを選択する。
  2. PC接続したUSBメモリを、USB Driveグループのポップアップメニューより 選択する。
  3. File Systemグループにて、isoファイルを書き込むUSBメモリのファイルシステムを選択する。(FAT32推奨)
  4. 場合によってボリュームラベルを入力する。
  5. [Burn]ボタンをクリックする。isoファイルをUSBメモリへブータブルメディアとして書き込み開始する。

SSL/TLS対応完了

遅ればせながら当ウェブサイトもセキュリティ強化ということでSSL/TLSに対応しました。

Transport Layer Security

これは簡単に言うと、ウェブサイトのデータが保管されているウェブサーバとウェブブラウザ間のデータやりとりを暗号化することで、悪意のある第3者からのデータ改ざんまたは傍受を防ぐというもの。

個人ウェブサイトがSSLに対応したところで、あまり影響がないと考えていましたが、最近そういうわけでもないことが分かりましたので急ぎ対応と言う流れ。

暗号化通信を有効化するには、閲覧者側にてURLの”http://“部分を”https://“に変更するだけです。

https://www.greenbeginner.com

PILOT COCOON BCO-150R-L

今年1年間病気もなく頑張った自分へのご褒美ということで、PILOTの油性ボールペン COCOON(ブルー)を購入してみた。

コクーン | 筆記具 | ボールペン | 油性ボールペン | 製品情報 | PILOT
アクロボール Mシリーズ | 筆記具 | ボールペン | 油性ボールペン | 製品情報 | PILOT

普段のメモや学習では、同じPILOT製品のAcroball Mシリーズ(0.5タイプ)を使用しています。
この製品の最大の特徴はやはりアクロインキです。油性ボールペンは水性に比べて抵抗が大きく長時間使い続けると疲れてきます。しかし(紙質によって多少左右されるけど)水性に近い滑らかな書き心地で力を入れることなくサラサラ書き続けられます。
また個人的に丁度良い細さのボディとグリップにより、ストレスなく長時間書き続けられるところがお気に入りです。

COCOONは、アクロインキを採用しつつ万年筆のような高級感のある丸いボディと主張しない落ち着いた色合いのボールペン。

パッケージ
内容物
本体

Mシリーズと比べると、メタルボディにより重量感が増している。またデザインや質感が重視されているためか、手元が滑りやすく、普段使うには向かないように感じられた。ただし、ひと回り太いボディは持ちにくいように見えたが、握って書き始めると安定した書き心地にはさすがアクロインキと驚いた。これは、スーツの中に忍ばせて使うのが良いだろう。(作業着で仕事をする私には無用の長物だったか、または宝の持ち腐れというべきか・・・

飽きないシンプルなデザインと落ち着いたカラーリング、軽やかな書き心地がその場を演出してくれる、所有することの楽しさや嬉しさを感じさせてくれるボールペンでした。

ペーパーレスからペーパースレッディング!?

唐突だけど、自宅でこれまでプリンタを3台買い替えてきました。最後に使っていたプリンタが2013年に壊れてからペーパーレス化に方向転換。それから5、6年が経とうとしている。

いろいろ試行錯誤の上、2016年にはiPad Pro + Apple Pencilを購入して、一層のペーパーレス化を実践してきた。

そして間もなく2018年も終わりを迎え始めた今日この頃。
最近、再びプリンタが欲しい衝動に駆られて困っている。

昔ならば、デジカメで撮った写真やきれいな画像を高画質で印刷して手元に残しておきたい!!という思いから高いプリンタを購入していたのだけど、今ではすっかりそんな思いはどこかに置いてきてしまったので、高いプリンタは求めていない。

でもデジタル化したデータや、iPad Pro + Apple Pencilで書いたものを印刷した上で、後から見返したいという思いが湧いてきたのである。

そこには高画質は当然求めていない。3色カラー+モノクロが素早く印刷できればよいのである。

だが、それだけのためにプリンタを購入するわけにはいかないのである。iPad + Apple Pencilでさえ、約3年間あれこれ考えた上で登場したタイミングと目的がマッチングしたから購入に踏み切っている。

正直なところ、iPadは私が使用する上では紙の代替として十分役に立っている。しかし紙とデジタルデータには大きな谷が存在していることもまた事実なのである。

その大きな谷を埋める、もしくは掛け橋となってくれるのがプリンタなのかは、まだこれから考える段階である。

ずっと思うことだが、アナログとデジタルはいつの時代も混ざらない油と水のようなものだ。もうそろそろ製品として(タブレットのような板ではない)紙のようなデジタルデバイス(描ける電子ペーパー)が登場しても良いころだと思っているのだが・・・。