かっきぃーの雑記帳

おもしろき こともなき世に おもしろく

はじめての新型コロナワクチン接種(職域接種・副反応・抗体価の上がり方)

職域接種とはうまく考えたものだ

先日はじめて、職域接種で新型コロナワクチン(モデルナ)を接種してきました。思ったよりスムーズに問診→接種→待機ができました。

自治体の接種予約開始時期(40代)よりも2週間ぐらい手前で接種できたことになります。日本国民の希望者が全員接種完了するのは11月末頃とのことなので、個人的に想定していたタイミングより3~4か月ぐらい早いペースです。

結局どうなるかはわからないけどな!

スポンサーリンク

 

 

しかしまあ、職域接種とはうまく考えたものだと思います。

実施企業それぞれで場所もお医者さんもスタッフも用意するんだから、国としては多くの労力が削減できるだけでなく、同時多発的に受け皿ができるのがいいですね。あとはワクチンを配布するだけ。

ワクチンの費用は国費とのことですが、お医者さんのや看護師さんやスタッフの人件費はどうなんですかね、やっぱり企業持ちなんでしょうか。そうすると、なおのこと国としてはプラス。企業側もいち早く社員にワクチンが打てるので安心感がでてくるのでプラス。

なかなかうまく考えたものです。

上手く考えすぎて、職域接種応募が殺到している問題もあるようですが。。

 

ワクチン接種後の副反応はたいしたことなかった

副反応についてはいろいろなことが起こりうるということで心配をしていましたが、接種したあたりに若干の違和感(痛いとまではいかない)があり、もっとも程度が大きかったのが接種後28時間後ぐらい。腕も難なく上がりました。

まわりには接種後10時間に痛くなってきたという人がいましたが、私は少し症状が遅めなんですかね。

もう年だから、筋肉痛が1日遅れて出てきたみたいなもんかもね。

さらに一晩寝たら、もはや違和感もなくなりました。

1度目のワクチンだったので、症状が軽かったのかもしれないですね。次は2度目。こちらはそこそこ副反応が大きいウワサなので、どきどきです。

 

新型コロナワクチン接種後の抗体価の上がり方

興味深いつぶやきを見つけましたので紹介します。

 

毎日、セルフ採血して抗体価を調べるとは驚愕!

●ワクチン接種後、10日間程度は免疫はほとんどない
●2回目接種後5日後ぐらいから、急激に抗体価が跳ね上がる

これは、ひとつの事例ながらこれは重要な知見ですね。さらに事例を増やして、周知徹底ができると、甘い考えの人たちが減るのではないかと期待します。

 

目下の心配事は2回目の接種が順調にできるか

2回目の接種は8月上旬予定ですが、問題はワクチンが供給されるか、ですね。どうも1週間ごとに納品ということで、計画分のすべてが会社に届いているわけでは無いようです。

各所でワクチン不足ということなので、そこだけが心配です。

スポンサーリンク

 

 

事実は小説より奇なり

中国での発生、世界中への拡散、ウイルスの封じ込め、手指消毒などの衛生管理、医療崩壊などなど、現実に起こっている新型コロナウイルスCOVID-19の現実を見ているような、フィクションではなくドキュメンタリーのような真実味のあるストーリーに惹かれた小説「首都感染(高嶋哲夫)」では、ワクチンができたところで一件落着的なところではありましたが、やはり事実は小説を越えましたね。

まさか、ワクチンができてからも、世界的なワクチン不足、複数の種類のワクチン登場、新しい変異株などなど、こんなにも順調にいかないとは想定を超えています。

 

「首都感染(高嶋哲夫)」の読書感想文はこちら

k-create.hatenadiary.com

 

 

スポンサーリンク

 


ハラスメントの切り口で企業の闇を暴いていくエンタメ企業小説『ハラスメントゲーム(井上由美子)』

最近、企業小説にハマっています。

といっても、池井戸潤ばっかりだったけどな!

池井戸潤小説は銀行を舞台にしていましたが、これはタイトルどおりハラスメントがテーマ。

セクハラ、パワハラだけでなく、

といったものや、

  • ハラスメントハラスメント(ハラハラ)
  • パワハラ
  • 世話焼きハラスメント(セワハラ)
  • 家事ハラスメント
  • エアーハラスメント

なーんてものまで登場します。テーマは「ハラスメント」ではありますが、この小説のおもしろ味は「仕事に対する想い」「思惑・陥れ・策略が交錯する人間関係」「難物を落とす交渉力(交渉術・交渉態度)」といったところ。

 

違和感から問題の本質を読み解き、誰の何が正しいのかを暴いていくスッキリ感。これも魅力!

 

スポンサーリンク

 

 

さらには、ひとつひとつのハラスメント事例をもとにした個別の小ストーリーのウラにある一貫した大きなストーリーもあって、小説終盤の盛り上がりに突入。このクライマックス感がたまりません。

 

そして、明日は我が身のハラスメント。会社員生活の身を引き締めるテキストでもあります。

 

 

ココロに残った一節を紹介します。

間違ったことをしている人間に注意すらしないことを見殺しと言います。その方がよっぽど残酷で無慈悲なパワハラです。

うーん、実に示唆に富む。

ハラスメントゲーム(井上由美子)

かつて凄腕で鳴らし、あることをきっかけに地方に飛ばされていた秋津渉(あきつ わたる)がマルオーホールディングス本社に呼び戻され、コンプライアンス室長に任命された。
会社のリスクマネジメント業務を携わるコンプライアンス室には、セクハラ、パワハラ、パタハラなど一筋縄ではいかないハラスメント問題が山積みで、唯一の部下である高村真琴(たかむらまこと)とともに難題に立ち向かっていく。
経営を揺るがしかねないハラスメント問題を解決していくうちに、三代目社長と実力者の常務との対立に巻き込まれ、さらに会社存続に関わる深い闇があることがわかってくる。
果たして秋津たちは会社の危機を救うのか? それとも――。

ハラスメントゲーム(Amazonウェブサイト)より)

 

 

スポンサーリンク

 


定型作業を効率よく実行する仕組みづくり!エクセルVBAマクロを学ぶシリーズ

定型作業を効率よくこなすには、仕組みづくりが大切。

エクセル( Microsoft Excel )にはVBAマクロと呼ばれるカスタマイズ機能があります。この機能を使うことによって「繰り返し行っていた定型的な操作の自動化」「複雑な数式や関数による数値処理や分析」などなどがボタン一つで実行でき、手間や時間を大幅に削減することができます。また、「ユーザーフォームの導入」により、データ入力の間違いを減らすことも可能になりますし、「お役立ち機能の制作」、さらには「数値シミュレーション」など本格的なプログラムもできます

こんなエクセルVBAマクロですが、大きな利点はエクセルのひとつの機能ということです。プログラミング言語には、C言語等いろいろありますが、職場によっては、業務用のパソコンでの利用が制限されているケースが多いと思います。また、家庭用のパソコンでもエクセルなら気軽に使えます。特別な環境を作らなくても、プログラミングできる点が大きな利点です。

スポンサーリンク

 

 

まずは「とりあえず使える」状態を目指す!【Step1】

こんな便利なエクセルVBAマクロですが、使える構文(いわゆる文法)は600を超えるほど多数存在し、それらを説明した書籍やウェブページは数多く存在します。いろんなことができるのはよいのですが、それだけハードルを高く感じたり、聞きなれないカタカナ語も多く途中で挫折する人も多いと聞きます。

そこでまず、プログラミングの経験がなくても「とりあえず使える」状態を目指すことをコンセプトとし、基本的なことに絞って講義形式で紹介したのが、次の2つです。

とりあえず使えるエクセルVBAマクロ超入門

エクセルVBA

準備編 マクロ機能を有効にする
Lesson1 マクロの作り方 基礎の基礎
Lesson2 これだけは覚えておく基本構文
Lesson3 マクロ実行でエラーが発生

 

とりあえず使えるエクセルユーザーフォーム超入門

エクセルユーザーフォーム

Lesson1 ユーザーフォーム 初めの第一歩
Lesson2 ユーザーフォームの作り方
Lesson3 これだけは覚えておきたい基本機能
Lesson4 使えるようになりたい基本機能
Lesson5 幅が広がる応用機能

 

スポンサーリンク

 

 

動画で雰囲気をつかみ、作りながら学ぶ!【Step2】

Step1の講義形式では、ひと通りのことはできるようになったはずです。ただ、じゃあ、実際に作ってみましょう、となると具体的なイメージが湧かないことも多いと思います。そこで作っているところを動画コンテンツにすることにしました。それがStep2です。

(1)基本的なエッセンスが満載!抽選器マシーンをつくってみる。

・セルを参照するRangeオブジェクト
・指定のセル範囲からずらすOffsetプロパティ
・For文を抜け出すExit For
・0以上1未満の乱数を生むRnd関数
・マクロの実行を一旦停止Stopステートメント
・数値を切り上げるRoundUp関数
・処理中断時間をコントロールWaitメソッド

 

(2)音を奏でるExcelマクロ(抽選器マシーンシリーズ機能追加①)

・音声ファイルを再生するPlaySound関数
・ドレミファソラシド音を発生BeepAPI

 

(3)100回の繰り返しをボタンひとつで一気に実行!(抽選器マシーンシリーズ機能追加②)

・PlaySound関数の同期再生と非同期再生
・パブリック変数として定義する
・「塗りつぶしパターン」で処理を分岐
・あとは工夫と試行錯誤!

 

(4)魅惑のユーザーフォーム!アラーム鳴動マシーンをつくる。

・ユーザーフォームの基本デザインをつくる
・ユーザーフォームの処理マクロをつくる
・設定時刻になったらアラーム音を鳴らす

 

このように、
■知識の習得(基礎)【Step1】
 ↓
■自分でやってみる(実践)【Step2】
 ↓
■調べて当てはめてみる(発展)
この流れを繰り返すことで少しずつできる範囲が広がっていくものと思います。

作りながら学ぶおススメの方法は、ひと通り動画をみたら、いったん動画を閉じて、自分なりに作ってみる方法です。
書き方は違っても目的が達成できていれば、それでヨシ。ときどき途中状況を確認し、比べることで問題の有無を確認するとよいです。

スポンサーリンク

 

 

エクセルマクロを使えるシーンはたくさんある。

私自身、プログラムについては体系的に学んできたわけではないのですが、仕事の先輩などのマクロを見よう見まねで始め、あとはGoogle検索を駆使し、いろいろとやってきました。

エクセルマクロについても、ネットにはたくさんの情報がありますので、「こんなことできそうだなー」と思って調べてみると、だいたいが何とかなります。書いてあることが、理解できないことも多いですが、試しに小さなプログラムを作って試してみると理解ができることもあります。理解ができなくても、「思ったアウトプットが出たからこれでいっかー」とやり過ごすこともあります。

そんな感じで早20年。なんとかアウトプットは出せてこれたかと思います。みなさんもぜひ、お試しください。

 

すぐに使えるエクセル・マクロ集

これまで作ってきた中で、パッケージとして残しておきたいものをまとめました。

k-create.hatenadiary.com

k-create.hatenadiary.com

k-create.hatenadiary.com

 

スポンサーリンク

 


今週のお題「おうち時間2021」

作りながら学ぶ!エクセルVBAマクロ超入門(4) 魅惑のユーザーフォーム!アラーム鳴動マシーンをつくる。

エクセルVBAマクロ超入門の作りながら学ぶシリーズ第4弾のテーマは

「直感的な入力操作が可能になるユーザーフォーム」

テキストボックスやコマンドボタンなどを自由に配置し、視認性・操作性に優れた表示機能「ユーザーフォーム」を使って、決まった時間に音声ファイルを繰り返し再生するアラーム鳴動マシーンを作りました。

あー、それ作ってみたかったやつー!

魅惑のユーザーフォーム!

スポンサーリンク

 

 

ユーザーフォームの基本デザイン

エクセルVBA ユーザーフォームデザイン

ユーザーフォームデザイン

今回つくったユーザーフォームの基本デザインはこちら。

ユーザーフォームにそれぞれのツールを配置していき、機能を与えていきます。そのあと、アラーム音声を再生するコア・マクロを作り、統合していく流れで作っていきました。 

 

アラーム鳴動マシーンをつくるプロセス

アラーム鳴動マシーンをつくっていく様子を動画にまとめましたので、のちほど紹介しますが、ここではその流れを紹介します。

タイムラインは動画の概要欄にありますので、興味あるところだけでも見ていただければと思います。

1.ユーザーフォームの基本デザインをつくる

  • 新規ユーザーフォームの挿入(UserForm)
  • コマンドボタンの配置(CommandButton)
  • ラベルの配置(Label)
  • テキストボックス・スピンボタンの配置(TextBox、SpinButton)
  • トグルボタンの配置(ToggleButton)
  • エクセルシートからユーザーフォームを呼び出す

2.ユーザーフォームの処理マクロをつくる

  • コマンドボタンの処理(CommandButton)
  • ラベルの処理(Label)

「ユーザーフォームが実行されたときに処理をするマクロ(UserForm_Activate)」「リアルタイムに表示が変化するラベル(Do While Loopステートメント/DoEvents関数)」ということもやっています!

  • ユーザーフォームの初期設定(UserForm_Initialize)
  • スピンボタンの処理(SpinButton)
  • テキストボックスの入力制限(TextBox)
  • トグルボタンの処理(ToggleButton)

3.設定時刻になったらアラーム音を鳴らす

  • 音声ファイルの再生(PlaySound関数)
  • 音声ファイルの停止(PlaySound関数)
  • 設定時刻になったらアラームを鳴らす♪
  • グローバル変数の定義(Public)
  • 条件によって表示/非表示が変わるコマンドボタンを仕込む(CommandButton)

条件によって表示/非表示が変わるってところ好きです。

 

アラーム鳴動マシーンを作り上げていく動画コンテンツ


www.youtube.com

 

見て真似るだけで作れます。まずは真似て作ってみて、ひととおり作ってみたらオリジナルの機能を盛り込んでみるのがおススメです。

二度寝するので、スヌーズ機能が欲しいなあ。

気分に応じて、アラームのメロディを選択したい!

とりあえず、 エクセルVBAマクロ超入門「作りながら学ぶ!シリーズ」はこの辺で一区切り。講義形式でひとつひとつ学んでいくなら、次の関連記事を読んでいただくのもよいかと思います。

 

 

スポンサーリンク

 


桜と鉄道と水辺の景色 2021 Tokyo Sakura - cherry-blossom - viewing

新見付橋から飯田橋駅方面

新見付橋から飯田橋駅を望む(牛込濠)

外堀通りから新見付橋を望む(新見付濠)

外堀通りから新見付橋を望む(新見付濠)

外堀通りから新見付濠を望む

外堀通りから新見付濠を望む

 

年に1度、外堀を彩る桜。新型コロナウイルスの影響でお花見宴会はありませんが、いつもと同じように桜は咲いています。

 


桜と鉄道と水辺の景色(2021年3月春)【JR市ヶ谷付近】 Tokyo Sakura - cherry-blossom - viewing

 

スポンサーリンク

 


作りながら学ぶ!エクセルVBAマクロ超入門(3) 100回の繰り返しをボタンひとつで一気に実行!(抽選器マシーンシリーズ機能追加②)

さて、実践!エクセルVBAマクロ超入門「抽選器マシーンシリーズ」も第3弾。今回は、

  • 当選結果の自動記録
  • 複数の抽選を連続実行
  • スペシャルな賞は特別なファファにメロディー変更
  • 100回の抽選でも1000回の抽選でもボタンひとつで一気に実行

あたりを機能追加しました。

 


実践!エクセルVBAマクロ超入門03 100回の繰り返しをボタンひとつで一気に実行!そしてスペシャルな賞は特別なファンファーレで(抽選器マシーンシリーズ機能追加②)

 

途中、抽選のタイミングとファンファーレ音のタイミングが合わない不具合が発生したり、100回の抽選には時間がかかりすぎたりということもありましたが、都度解決している過程も含まれています。

動画ではひととおり解説していますが、いくつかここで補足をしたいと思います。

スポンサーリンク

 

 

PlaySound関数の同期再生と非同期再生

PlaySound関数で音声ファイルを再生することができますが、大きく同期再生と非同期再生があります。それぞれの違いは下記の通り。

同期再生 サウンド再生が終了したら次の処理へ

非同期再生 サウンドの開始と同時に次の処理へ

前回までは非同期再生の設定でした。こうしておくと、サウンドを流しながら次の処理に入れるので、スムーズに進むわけです。

しかし、音声ファイルの再生が繰り返される場合は、再生が終わらないうちに次の再生が実行されることとなり、タイミングがズレたりすることとなります。今回、試行錯誤をしている過程でタイミングがズレてきたので、同期再生に修正しました。

具体的にはPlaySound関数の4つ目の引数を「SND_ASYNC」から「SND_SYNC」に変えます。

PlaySound wrkSndFile, 0, SND_ASYNC
  ↓
PlaySound wrkSndFile, 0, SND_SYNC

 

これに伴い、宣言文も一文追加しておいてください。

Public Const SND_SYNC = &H0

 

パブリック変数として定義された変数は活躍の場が広がる!

通常、Subプロシージャ内で定義される変数は、プロシージャの外に値をもってでることはできません。ただ、いくつかのプロシージャで値を共有して処理をすることがあります。そんな時に使用するのがパブリック変数です。

パブリック変数として定義することでSubプロシージャの枠のみならず、Moduleの枠を超えて活躍させることが出来ます。

Public (変数名)

これをModuleの冒頭に記載しておけばOKです。

 

スポンサーリンク

 

 

「塗りつぶしパターン」で処理を分岐

処理を変える条件に「セルの入力値」以外に「セルの色」や「塗りつぶしパターン」なども使うことができます。今回は「塗りつぶし」の有無で判定することとしました。

この手の処理は、調べればで比較的ラクに出てきますし、何度も使えば覚えるかもしれませんが、今回は「マクロの記録」機能を使って、そこで表示される内容をヒントにマクロを作っていくという手法を取りました。

まず、セルを選んで、塗りつぶすという作業のマクロを紹介します。

Range("O4").Select
With Selection.Interior
  .Pattern = xlSolid
  .PatternColorIndex = xlAutomatic
  .Color = 49407
  .TintAndShade = 0
  .PatternTintAndShade = 0
End With

 

ここで、セルの塗りつぶし判定に関わるのは「.Interior(背景色)」「.Pattern(網掛けパターン)」「xlSolid(塗りつぶし)」。

これを基に作ったIf文はこちら。

If Range("¥winner").Offset(m, 1).Interior.Pattern = xlSolid Then ~

「Range(“¥winner”).Offset(m, 1)の網掛けが塗りつぶしだったら ~ する」ということ。

このように、背景色や網掛けパターンをどのように表記すればいいか分からなくなっても、「マクロの記録」でヒントが得られます。

秘儀!マクロの記録!!

ちなみに「網掛けなし」は「xlNone」で表記します。これも、秘儀・マクロの記録で調べることができます。

 

あとは工夫と試行錯誤!

今回いくつか補足をしましたが、これ以外は特別なことは使っておらず、For文やIf文、Rangeオブジェクトの組み合わせや工夫で何とかなっています。

処理の繰り返しはFor文+Exit Forではなく、While文の方がスマートでは?という意見もあると思いますし、それはその通りだと思います。ただ、While文だと処理に失敗したときに無限ループに陥る心配があるので、むかしからどうも好きにはなれず、エラーとなっても、For文で設定した100や1000の処理で止まる方が安心感が勝り、どうもこの方法から抜け出せません。

あと、できるだけ少ない知識と工夫で乗り越えるというのが好きというのもあります。

Excelの関数も調べるより、マクロで作っちゃう方を選びがち。

 

いちおう「抽選機マシーン」シリーズでやってみたいことは、大体できました。第1弾は超入門編にふさわしく、基本的なエッセンスが満載でしたが、機能追加①と機能追加②は若干、超入門編というには微妙な感じもあります。ただ、超入門初心者でもついてこれる内容だと思います。

今回の流れを見ていただければわかるように、だいたいやりたいことは実現可能です。ヒントはGoogle先生が教えてくれたり、秘儀・マクロの記録で調べることができます。

あとは試行錯誤と工夫の積み重ね。もっとも大事なのはやってみようと思う気持ちとはじめの第一歩。やってみると次が見えますので、なにはともあれ、やってみるのが一番。

ぜひ、いろいろと試してみてください。試行錯誤を繰り返しながら、経験を積んでもらえればうれしいです。

k-create.hatenadiary.com

k-create.hatenadiary.com

 

魅惑のユーザーフォーム!アラーム鳴動マシーンをつくる。

 

スポンサーリンク

 


作りながら学ぶ!エクセルVBAマクロ超入門(2) 音を奏でるExcelマクロ(抽選器マシーンシリーズ機能追加①)

Excel VBAマクロの基本構文がひと通り入っていて、超入門レベルの初心者の方々におススメの「抽選器マシーン」マクロを前回紹介しました。

k-create.hatenadiary.com


やってみるとさらにやってみたいことがどんどん出てくるということで紹介した「当選確定したときにファンファーレを鳴らせないか?」。これを今回のテーマとして取り上げ、機能を追加することにしました。

例によって実際に作業している様子をYouTube動画として公開しましたので、最後に紹介しますが、音を奏でるExcelマクロはこのブログでは取り上げたことがないので、補足も含めて、あらためて説明したいと思います。

スポンサーリンク

 

 

音声ファイルを再生するPlaySound関数

音声ファイルを再生するのにおススメなのはPlaySound関数。ただし、このPlaySound関数は、Windowsのライブラリにある機能をExcelで使用するということなので、VBAマクロの関数として、あらかじめ呼び出しておく必要があります。それが、API宣言。

APIは、Application Programming Interface の略。

【準備】PlaySound関数を使うためのAPI宣言

下記がPlaySound関数を使うための宣言文。

Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
   ByVal pszSound As String, _
   ByVal hmod As Long, _
   ByVal fdwSound As Long _
    ) As Long
Public Const SND_ASYNC = &H1

 

PlaySound関数を詳しく調べてみると、「非同期再生や同期再生」「繰り返し再生」「サウンドの停止」などなどいろんなキーワードとともに説明がありますが、ここではシンプルに、音声ファイルを再生することを目的にしていますので、あまり深く考えず、とりあえずコピペで先に進みましょう。

音声ファイルが無事に再生できることを確認したあとで、いろいろな機能を詳しく調べ、試行錯誤してみるのが、マクロ制作のモチベーション維持と学びの効果が高いと思います。

何はともあれ、音がならないことには始まりませんからね。

 

【かんたん解説】PlaySound関数の使い方

音声ファイルを再生するPlaySound関数は次の通り。

PlaySound wrkSndFile, 0, SND_ASYNC

 

0 と SND_ASYNC は特に気にせず、そのまま(ちなみに、SND_ASYNCはAPI宣言のところで値を定義しています)。重要なのは、wrkSndFile(変数)。ここには音声ファイル名を記載すればよいのですが、コンピュータのどこに保存されているか、すなわち、フルパスが必要となります。

フルパス付きで音声ファイルを指定すれば、どんな方法でも構いません。簡単なのは直打ちして指定することですが、PCが変わるなどして保管先のフルパスが少しでも異なると音声が出てこなくなります。

なので、いかなる状況でも正しく動作させるには工夫が必要です。

今回、想定しているのは、音声ファイルが、このエクセルファイルと同じフォルダに保管されているケース。これであれば、フォルダごと移動させることさえ徹底しておけば、特に問題は発生しません。

ということで、音声ファイルが、このエクセルファイルと同じフォルダに保管されているケースでフルパスの取得手順を紹介します。

 

フルパス付きのファイル名を作成する

フルパス付きのファイル名 wrkSndFile は下記のように取得することとします。

wrkSndFile = ThisWorkbook.Path & f_sound

 

ThisWorkbook.Path はこのExcelブックの保存先のフルパスを返します。あらかじめ、f_sound にファイル名を入れておき、「&」を使って文字列を合体させることで、フルパス付きのファイル名ができあがります。

ファイル名の頭に¥マークを入れるのを忘れないで!こうしないと、フルパスとファイル名が区別できずにくっついてしまいます。

 

ファ音を発生させるBeepAPIメソッド

BeepAPIメソッドを使えば、音階を奏でることも可能です。これもまた、Windowsのライブラリから、あらかじめ呼び出しておく必要があります。

スポンサーリンク

 

 

【準備】BeepAPIメソッドを使うためのAPI宣言

 下記がPlaySound関数を使うための宣言文。

Declare Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
    (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

これもまた、あまり深く考えず、とりあえずコピペで先に進みましょう。

 

【かんたん解説】BeepAPIメソッドの使い方

ファ音を再生するBeepAPIは次の通り。

BeepAPI ( dwFreq , dwDuration )

  dwFreq :周波数 Hz(37~32767Hz)
  dwDuration:音の鳴動時間 ms

音の周波数(Hz)と鳴動時間(ms)を指定することで、音を奏でることができます。基準音(ラ)の周波数は440Hzで、それを基準にドレミファソラシドが決まってきます。

音階と周波数の関係は奥が深く、周波数が倍になると1オクターブ上の音階になるなどいくつかの特徴があります。これについては、説明すると長くなるので、別の機会に紹介したいと思います。

参考までに1オクターブ分の周波数を載せておきます!

音階 周波数 Hz
261.626
ド# 277.183
293.665
レ# 311.127
329.628
ファ 349.228
ファ# 369.994
391.995
ソ# 415.305
440.000
ラ# 466.164
493.883
523.251

 

音を奏でるには、Callステートメントで呼び出します。

Call BeepAPI(440, 200)

周波数を変えてみたり、鳴動時間を変えてみたり、いろいろやってみると面白いですよ。

 

このほか動画では、
・ファイルのフルパスの確認
・「おめでとうメッセージ」の表示/非表示
なども紹介していますので、是非みてみてくださいまし。

 


実践!エクセルVBAマクロ超入門02 効果音を入れて盛り上げる!(抽選器マシーンシリーズ機能追加①)

スポンサーリンク

100回の繰り返しをボタンひとつで一気に実行!そしてスペシャルな賞は特別なファンファーレで

 

スポンサーリンク