表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
5/7

偽りの立方体Sheet5:イカサマ氏はサイコロを振らない

「サークル活動はいつも社内ですか?」

薔薇筆の問いに真ん中の男が答える。

「ええ、そうですが…」

「その"エクセルダイス"を開いてるPCかタブレットって会社のサーバーに繋がってませんか?」

「繋がってますが…まさか」

「おそらく社内サーバーのどこかに"エクセルダイス"が参照してるテキストファイルがあるんじゃないでしょうか。その…イカサマ氏はプレイ中にそのファイルを書き換えてる…」

「そういえば、ずっとスマホをイジってます!次の出目を操作してたのか」


「でもそれを実証する証拠がありませんね。最終本人を問い詰めれば済む話ですが、シラを切られでもしたら…せめてそのファイルでも特定出来ればいいんですが…」

三人組の別の一人が言った。

「ファイルの特定は出来ます。イカサマ氏はプレイ中に何度もテキストファイルを書き換え、つまり再保存しています。となれば、ファイルの最終更新日を見れば一目瞭然です」

薔薇筆はチームに加入して初の事件解決に高揚してるのかずいぶん張り切ってるなぁ…とアキラは思った。

「だったらさぁ問い詰めるだけじゃなく一泡吹かせてやろうよ」

アキラが悪い顔をしながら言った。


「ファイルを参照出来なくするんだったら、削除とかディレクトリ…保存されてる場所変えるだけで済みますよ」

薔薇筆の発言に川口は真面目な奴だなと思った。

「薔薇筆クン、アキラさんはもっとえげつない報復をご所望だと思うぞ」

「ヒデェなグッさん、俺を何だと思ってるんだよw」

「テキストファイルにメッセージ書いとくのはどうでしょうか『全部知ってるぞ』とか」

育美案だ。

「悪くないけど、バラすのは一回くらい奢らせてからの方が良くないか?ていうかウチらだけで盛り上がってごめんねw 御三方の意向ガン無視してたね」

アキラは三人組の意見を求めた。


「そりゃ一矢報いたい気持ちはあります。夜食代の損得っていうより、トリックに気付かない俺達を馬鹿にして見てたかと思うと、それが悔しいですから」

「エルさ、この"エクセルダイス"とそっくり同じもの作れるかい?」

アキラが尋ねた。

「うーん、ちょっと時間かかるかな…」

エルは指を3本立てた。

「3日ですか…あ、エルさんだから3時間か」

育美の言葉にエルが返す。

「そんなにかかんないよ、30分。あ、でもテキストファイルのパスは分かんないから、そこは後で入れる事になるよ」


アキラのアイデアはこうだ。

まずエルにそっくりの"エクセルダイス"を作ってもらい、本物と差し替える。

ただし、参照するテキストファイルだけ別のものになっている。

それからはいつも通りすごろくを始める。

なんなら「今日は参加者少ないから夜食の支払いはビリの人だけ」とか言って。

で、イカサマ氏を負けさせる様に"偽エクセルダイス"が参照するテキストファイルで出目を操作する。

イカサマ氏本人は困惑、あるいは察しがよければバレたのに気が付くだろうが、ちゃんと夜食代金払わせた後で引導を渡す。

後はサークルの除名処分なり、会社巻き込んでもっと大事にするなりお好きな様に…

「と、まぁこんなんでどうだろう?」


「でもいいんですか?エルさんにお手間取らせて何か申し訳ないです」

三人の一人が言う。

「全然手間じゃないよ。ただ、どうなったかはちゃんと後で報告に来てね」

エルの客あしらいも段々板に付いてきた。

"Perplexity AI"にて以下の質問でサンプルコードを生成(動作確認済)

エクセルのマクロ。外部データの取り込みでテキストファイルからデータを取り込む。テキストの最初の文字が1~6の数字ならセルA1にそれを表示。それ以外の内容だったらランダムに1~6の数字どれかをA1に表示。


Sub ImportTextFile()

Dim txtName As String

Dim firstChar As String

Dim randomNum As Integer


' テキストファイルを選択するダイアログを表示

txtName = Application.GetOpenFilename("テキストファイル,*.txt")


' ファイルが選択された場合

If txtName <> "False" Then

' テキストファイルを開く

Open txtName For Input As #1


' 最初の文字を読み込む

Line Input #1, firstChar

firstChar = Left(firstChar, 1)


' ファイルを閉じる

Close #1


' 最初の文字が1~6の数字かどうかを判定

If IsNumeric(firstChar) And Val(firstChar) >= 1 And Val(firstChar) <= 6 Then

Range("A1").Value = firstChar

Else

' ランダムに1~6の数字を生成

Randomize

randomNum = Int((6 - 1 + 1) * Rnd + 1)

Range("A1").Value = randomNum

End If

End If

End Sub


※本編ではテキストファイルはあらかじめ指定それてます。

※セルA1に表示させる代わりに画像を出すなど見た目を盛ってるのが本編です。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ