ExcelVBA ネット上のソースコード利用時注意点

ブログなどで公開されているExcelVBAのソースコードをコピペ、修正して利用した際にはまった注意点を備忘録として残します。

 

仕事で作業を自動化したいときなどに便利なExcelVBAです。ネット上にも解説サイトやサンプルのソースコードなど、情報がたくさんあり活用しやすいです。

 

今回、「T&D おんどとり 温度・湿度・大気圧データロガー TR-73U」から温度、湿度のデータをシリアル通信を使って抜き出す作業を自動化しようと以下のサイトの情報を参考に作業を進めていました。

 

[参考にしたサイト]

VBAシリアル通信でT&D製TR73Uの現在値をPCに取り込む! | 自恃ろぐ-jizilog.com-

[使用する計測機器]


 

 記載されていたソースコードをコピペして動作の確認をしていたところ、同じ環境にしたはずが動作しない。

 

読み込んでいるEasyCommの使い方が間違えているのか、何か宣言が抜けているのか、いろいろと試行錯誤しました。

 

原因は、

「 HTMLで特殊文字を書いていた」

ためでした。

 

HTMLは<h1>~</h1>で囲まれているのが見出し、<p>~</p>で囲まれているのが本文、というような文章構成をさせることで、Webページの表示のされ方をプログラミングしているくらいの知識しかなかった筆者だったため、HTMLで特殊文字(<、>、&)を書くにはアンパサンド(&)、右大不等号(<)、左大不等号(>)はそれぞれ、&amp;、&lt;、&gt; と記述する必要があり、この形式を文字参照と呼ばれ、
加えて、タグの属性部で、"..." の中ではダブルクォーテーション(")を &quot;、'...' の中ではシングルクォーテーション(')を &#39; と記述する必要がある。

などという知識がなかったため、参考にしたサイトのソースコード特殊文字がHTMLの文字参照の書き方に替わっていたなんて、気付くのに時間がかかりました。

 

 

広く浅くいろいろな知識を得ることが重要と再確認させられたきっかけでした。

ExcelVBAに精通していればすぐに気が付いたのか、それともHTMLを少し勉強していればすぐ気が付いたのか、いずれにしても、今回学んだことで今後同じことにならないようにブログに残しておきます。