ホーム » ブログ

アーカイブ

検索


フィード


管理

2015年12月9日

MS-Excelで学会タイマーをつくってみた

いやー、「学会タイマー」って、ほんと、大学教員にとって重要なツールですよね。

学会や研究会などで時間管理が重要なのは当然ですが、学生さんに研究調査を発表してもらうようなゼミ型の講義だと、各学生さんの発表時間を厳格に管理しないと不公平ですし、モタモタしていると時限の終了時刻を過ぎてしまいかねないわけです。昔は終了時刻を過ぎてもよかったのかもしれませんが、いまの忙しい学生さんたちは、次の時限の講義に出席しないといけないかもしれませんし、何はともあれ、よくないわけです。

長年、学会タイマーを活用してきたのですが、実は、某フリーソフトウェアの学会タイマーが、自分のノートPC上で大問題を起こして以来、安心して使えない日々が続いてきました。というのも、某国際学会で自分が司会だったとき、そのフリーウェアーの学会タイマーを使ったものの、どうやら誤作動を起こしてしまい、実際の残り時間よりも大幅に短い残り時間を表示していた(かなり早いペースで残り時間が減っていった)ため、本当はみんな20分くらい発表時間があったのに、10分強で発表を強制終了させてしまっていたという悲惨なことがあったのです。誤作動というよりは、そのフリーウェアーのバグのような気もしますが・・・無料ソフトなわけですから、文句を言うわけにもいきません。使った自分が悪いのです。

で、困っていたのですが、結局、自作することにしました。下にソースコードを貼っておきます。アイディアは以前から頭のなかにあったので、制作自体は40分ほどで終わりました。MS-ExcelのVBAを用いています。残り時間の表示はExcel上で行います。なお、windowsのみで動作します。Macユーザーのみなさんごめんなさい。最初のDeclareの部分を改造すれば動くと思います。また、いろいろ改造の余地がありますので、ご自由にお試しください。あと、マクロ/Subの呼び出しは、エクセルの「フォーム」で「ボタン」をつくって、クリックで呼び出せるようにしておくと便利ですよ(ここまで読んでいる人ならそんな説明いらないと思いますが・・・)。

timer

【追記】エクセルのファイルもダウンロードできるようにしました。こちらからどうぞ。ただし、VBA/マクロが起動するためにはセキュリティレベルを下げる必要があるかもしれません。また、もちろん自分はウイルスなんて仕込みませんが、マクロが起動できる環境にするということは若干の脆弱性を意味しますので、そこは自己責任でよろしくおねがいします。

Declare Sub Sleep Lib “kernel32” (ByVal dwMilliseconds As Long)
Declare Function GetAsyncKeyState Lib “User32.dll” (ByVal vKey As Long) As Long
Declare Function BeepAPI Lib “kernel32.dll” Alias “Beep” (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Sub updatetime()

‘–開始音–
Call BeepAPI(500, 400)
‘———————-
‘ Excel上では time という名前をつけたワークシートに残り時間の表示や設定値の入力を行います。
‘ (ワークシートの名前はなんでもかまいません)
‘ セルB2(Cells(2,2))に大きく残り時間を表示します
‘ 自分は400ptのArialが表示されるセルの幅・高さに設定していますが
‘ 利用するノートPCの画面解像度にあわせて適宜調整してください。
‘———————-

‘–表示色を黒色に戻す–
Cells(2, 2).Font.ColorIndex = 1

‘–念のためセルA10に開始時間を表示(代入)します
Sheets(“time”).Cells(10, 1) = Time()

‘–開始時間はStart_timeという変数に格納します
Start_time = Time()

‘———————-
‘ セルA7(Cells(7,1))に発表時間を分単位で記入しておきます
‘ セルA15(Cells(15,1))に、何分前に予鈴を鳴らすか記入しておきます
‘———————-

‘–終了時間はEnd_timeという変数に、DateAdd関数を用いて格納します
End_time = DateAdd(“n”, Sheets(“time”).Cells(7, 1), Start_time)
‘–予鈴を鳴らすタイミングの残り時間をBell1_timeという変数に格納します。
Bell1_time = Sheets(“time”).Cells(15, 1)

‘–念のためセルA12に終了時間を表示(代入)します
Sheets(“time”).Cells(12, 1) = End_time
‘–終了時間になるまでループを繰り返します
Do

‘–残り時間を秒数で計算して、分部分と秒部分に分離します
Remain_time = DateDiff(“s”, Time(), End_time)
Remain_min = Remain_time \ 60
Remain_sec = Remain_time Mod 60

‘–秒が1桁だと見栄えが悪いので1桁の場合は0を追記します
If Len(Remain_sec) = 1 Then Remain_sec = “0” & Remain_sec

‘–セルB2に残り時間を代入します
Sheets(“time”).Cells(2, 2) = Remain_min & “:” & Remain_sec

‘–予鈴を鳴らすタイミングの処理、音を鳴らし色を赤にします
If (Remain_min = Bell1_time) And (Remain_sec = “00”) Then
Call BeepAPI(500, 700)
Cells(2, 2).Font.ColorIndex = 3
End If

‘–無限ループするとCPUを消耗するので500ms待機させます(変更可)
Sleep 500

‘———————-
‘ Shiftキーが押されたらタイマーを止めます
‘ 発表が早く終わったときにはShiftを押しましょう
‘ 別のキーでもかまいませんので下の 16 を適切なASCIIコードに変更してください
‘———————-

If GetAsyncKeyState(16) <> 0 Then End

‘–現時点が終了時刻を越えるまでループします
Loop While End_time >= TimeValue(Time())

‘–終了の警告音を鳴らします
Call BeepAPI(350, 1200)

End Sub


カテゴリ: Computers,University of Tokyo — Masa @ 9:24 PM

 

2015年11月26日

Facebookと地方創生

昨日のブログでうまく書けなかったんですが、地方創生って、facebookと「共進化」してる案件なんじゃないかと思うわけです。

卑近な現象からすれば、facebook上であーだこーだ書いてる人って概して地方創生がらみの案件について一家言ありそうな人が多そうだし、逆に地方創生がらみの仕事をしてる人はfacebookにあーだこーだ書いてそう。

でも実はそれだけじゃなくて、facebookの(いちおう)実名で、文字数制限がなくて、写真もたくさん載せられる、っていう仕様は、田舎での活動を伝えるのに便利なメディアなんでしょうね。

ツイッターの140字(写真投稿したらもっと少ない)じゃ具体的な事業の中身なんて伝わらないでしょう。むしろツイッターは感情の赴くままに何も考えずイキオイで発言する場に相応しいかと。喧嘩上等、炎上万歳。

そういうこともあって、地方創生の関係者がfacebook上でクラスタ化しちゃうというのは、必然のようにも思えます。

また、技術的な仕様はさておき、SNSっていうのは都市への人口集中を抑制するという予期せぬ機能があるかもしれませんね。都市に来なくても、いろんな人と出会える(コミュニケートできる)わけですから。いわば、バーチャル酒場みたいなもんでしょう。昔から(エロ目的含め)そういう出会いの場がネットになかったわけではないんだけど、facebookで、リアルからバーチャルへのトランジションが加速したのは間違いないんじゃないかしら。もちろんリアルに会いたくなることはあるだろうけど、それならLCCでも使って会いにいけばよくて、spontaneousな「出会い」の機能性は、facebookが都市を上回っちゃったんじゃないかな。

ってことで、facebookなんてやってると、高い家賃払って東京に住まなくてもいいんじゃね、って気分になるんでしょうね。

いっそのこと、ザッカーバーグ氏を地方創生担当大臣の参与にでもしちゃったらどうでしょう。

このままいったら、facebookと地方創生関係者の間で共進化が止まらなくなり、市井の一般大衆を置き去りにして、遠い彼方へと飛んでいってしまうんでしょうね。僕はそんな竜巻のような現象には巻き込まれたくないけど。


カテゴリ: Computers,Science/Technology Policy,Urban planning — admin @ 3:54 PM

 

2015年10月20日

SNSは人間を愚かにするかもしれない

ツイッターで毒にもならない愚言ばかり吐いているあたくしです。

とはいえ、ツイッターで大炎上とか、LINEで喧嘩でフルボッコとか、そういう人たちに比べればまだ穏やかな日々を送れているのかもしれません。

先日、何気なく自分のブログの過去記事をダラダラと読み返してみたのですが、自分なりに有益なことも書き残してあって、今年の科研費申請の企画の種を見つけることもできました。そういえば「昔、(松浦の)ブログ読んでました」というめずらしい人に、年に1回くらいのペースで遭遇することもあります。

なら、ブログ書いてるほうが自分とっていいはずなので、「なんでtwitterに逃げてるのかな?」と我ながら不思議に思って、考えてみました。

やはり、短文投稿っていうのは、まさに口を突いてでる「つぶやき」であって、その「つぶやき」には熟慮がないんですわ。インプットに対する身体反応としてのつぶやきなわけです。

ブログはさすがに投稿前に一度読み直したり、書いている途中で「あ、論理破綻してるな」と気づいて書き直したりと、書きながらではありますが、それなりの熟慮が行われているのでしょう(低レベルかもしれませんが)。

ということでtwitterやLINEの投稿っていうのは、やっぱし情動のようなもので、考えるエネルギーの投入は省けんだろうけど、そこに何か思慮みたいなものはないんでしょうね。みんながそうだとは断言しませんが、すくなくとも、あたしの場合は。

それにくらべてブログだと、複数の要素を組み合わせて書くわけで、リフレックスとしての身体反応では文書が成立しないわけです。

そういう意味では、twitterのビッグデータっていうのは、情動的な反応の集合体でしかないんでしょうね。それはそれで価値はあるんだとは思います。しかし、その反応がもたらす影響とか、自分にはねかえってくる影響とか、そこらへんを反省(リフレクト)する過程は、twitter自体に組み込まれていないですよね。横暴な発言やクソリプとかもタレ流して、反省したら気を病んじゃうので、反省しないほうが勝ち組だったりします。

ということでまたブログに戻ろうかな、なんて思う今日この頃であります。


カテゴリ: Computers — admin @ 4:41 PM