『VBAプログラミング』知らない間に覗かれたら(開かれたら)メールで通知するExcelファイル。ガスライティング対策にもなります

当ページはアフィリエイト広告を利用しています

記事内に広告が含まれています。
『VBAプログラミング』ファイルを勝手に開かれた時、メールで教えてくれるハニーポット。ガスライティング対策にもなります
提供:photoAC「bBear様」

悪意を抱く者がいる職場で、PCをロックせず離席するのはとても危険。

なので、離席するときはキーボードで「Windowsボタン」と「Lボタン」を同時に押下して、必ず画面をロックするようにしましょう。

とはいえ。

あなたのアカウントや管理者権限を持つアカウント情報が漏れていた場合、それどころではありません。

直にしろリモートにしろ、簡単にいつでも侵入されてしまいます。

そこで今回は自分が離席しているそんな時、勝手に覗かれたらメールで通知するExcelファイルをVBAでプログラミングしてみましょう。

ガスライター(ガスライティングなどの嫌がらせをする人)は平然とそのような行動をとりますのでガスライティング対策にもなりますよ(^J^)

【準備その1】通知に使用するyahooメールの設定方法

通知(送信用)にはyahooメールを使用します。

yahooメールをお持ちの方も、お持ちでない方もお手数ですが、使い捨てのyahooメールアドレスを一個つくってください。後で使用する受信用メールアドレスはなんでも結構ですが、やはり使い捨てのメールアドレスが無難です。

yahooメールアドレス(送信用)が準備できたら、次にyahooメールの設定を変更します。

yahooメールを開いて、設定(歯車のマーク)をクリックしてください。

『VBAプログラミング』Excelでyahooメール【メールの設定画面】

次にIMAP/POP/SMTPアクセスをクリックして下記のように設定を変更してください。

『VBAプログラミング』Excelでyahooメール【メールの設定画面】

これでyahooメールの設定はOKです。

【準備その2】マクロを有効にしておく

次はExcelの設定です。プログラミングしたものが起動しなければ意味がありません。

なのでExcelのマクロを有効にする必要があります。

下記のようにExcelを操作して「すべてのマクロを有効にする」にチェックを入れます。

Excel2003、2007、2010、2013の場合
「ファイル」→「オプション」→「セキュリティセンター」→「セキュリティセンターの設定」→「マクロの設定」 → 「すべてのマクロを有効にする」にチェックを入れる

・上記以外のExcel
「ファイル」→「オプション」→「トラストセンター」→「トラストセンターの設定」→「マクロの設定」 → 「すべてのマクロを有効にする」にチェックを入れる

ハニーポット用VBAプログラミング

【準備その3】VBE(Visual Basic Editor)を起動する

Excelを起動した状態で「Alt」 と「 F11」 キーを同時に押下。

するとVBEが起動するので、次のように操作します。

ハニーポット用VBAプログラミング

画面左の「ThisWorkbook」をクリック → 画面上のオブジェクトボックスで「Workbook」を選択 → その横のプロシージャボックスで「Open」を選択

すると下記のコードが自動的に挿入されますので、その中にプログラミングしていきます。

Private Sub Workbook_Open()

この中にプログラミング

End Sub

ちなみにWorkbook_Open()とはExcelブックが開かれた時に実行するという意味です。

【準備その4】メールで通知するプログラムを書いていく

下記が完成形になります。

※※の部分【yahooメール(送信用)、yahooメールのパスワード(yahooメールログイン時のパスワード)、受信用メールアドレス、タイトル、本文】は変更してください。

メールアドレスは(送信用、受信用共に)後々、削除しても構わないものを使用すること。普段、使用しているメールアドレスを利用するのはやめておきましょう。

Private Sub Workbook_Open()
    
    Dim mailObj As Object
    Dim mailFrom As String
    Dim mailFromPassword As String
    Dim mailFromSmtp As String
    Dim mailFromPort As String
    Dim mailCharset As String
    Dim mailTo As String
    Dim mailSubject As String
    Dim mailBody As String
    Dim errNumber As Long
    
    
    '※※は変更してください
    
    '-------------------------------------
    
    '※※yahooメールのアドレス(送信用)
    mailFrom = ""
    
    '※※yahooメールのSMTPパスワード(yahooメールのパスワード)
    'パスワードを数回間違えるとしばらくの間、
    'SMTPサーバーに接続できなくなります
    'もしそうなったら、一定時間(どのくらいかは不明)経過後、
    'yahooアカウントを一旦ログアウト、再度ログインしてお試しください
    mailFromPassword = ""
    
    '※※宛先
    mailTo = ""
    
    '送信用メールのSMTPサーバ(yahooメール以外の場合は変更が必要)
    mailFromSmtp = "smtp.mail.yahoo.co.jp"
    
    '送信用メールのポート番号(yahooメール以外の場合は変更が必要)
    mailFromPort = "465"
    
    'メールの文字コード
    mailCharset = "ISO-2022-JP"
    
    '※※メールのタイトル
    mailSubject = "警告"
    
    '※※メールの本文
    mailBody = "誰かが勝手にファイルを開きました"
    '-------------------------------------
    
    'エラー番号
    errNumber = 0
    
    'CDOのオブジェクトを作成する
    Set mailObj = CreateObject("CDO.Message")
    

    
    With mailObj
        '送信元
        .from = mailFrom
        '宛先
        .to = mailTo
        '件名
        .subject = mailSubject
        '本文
        .TextBody = mailBody
        '文字コード
        .TextBodyPart.Charset = mailCharset
    End With
    
    
    With mailObj.Configuration.Fields
        'SMTPのユーザー名
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mailFrom
        'SMTPのパスワード
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mailFromPassword
        '認証方法
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        'SMTPサーバの種類
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        'SMTPサーバ
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailFromSmtp
        'STMPの送信用ポート番号
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = mailFromPort
        'SSLを許可
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True

        '設定を更新
        .Update
    End With
    '重要度を変更
    mailObj.Fields.Item("urn:schemas:mailheader:X-Priority") = 1
    mailObj.Fields.Update
    On Error GoTo ErrorTrap
    '送信
    mailObj.Send
    If errNumber = 0 Then
     '確認用なのでなくてもOK
        'MsgBox "メールを送信しました"
    End If
    '初期化
    Set mailObj = Nothing
    errNumber = 0
    Exit Sub
ErrorTrap:
    errNumber = Err.Number
    MsgBox "エラーの番号:" & Err.Number
    MsgBox "エラーの概要:" & Err.Description
    Resume Next
    

End Sub

プログラミングできたら、そのコードが見られないようロックしておきましょう。

「ツール」→「VBProjectのプロパティ」→「保護」

VBAコードをロックする

「OK」でロック完了。次回からVBEでコードを閲覧しようとするとパスワードを求められるようになります。

とはいえ、パスワードを強引に解除する方法(ツール)も存在し、そのためコードを見られてしまう可能性もあるので、何度も書くようですがメールアドレスは後々、削除しても構わない「使い捨て」のものを使用してください。

【準備その5】覗き(開き)たくなるようなファイル名で保存する

では保存します。その際、重要なのがファイル名。

誰かがPCに侵入して、衝動的に覗き(開き)たくなるようなファイル名にします。

ファイルの拡張子は「Excelブック(*.xlsx)」ではなく「Excelマクロ有効ブック(*.xlsm)」にしてください。そうしないとVBAプログラムが実行されません。

VBAでメール通知プログラム

保存場所はデスクトップがオススメです。目に付きやすいので(^u^)

以上となります。実際にファイルを開いてみて、メールが受信されるかどうかを試してみてください。

 どこでも食っていけるWeb人間になれる【Web食いオンラインスクール】

頻繁に通知がくるようなら、そこはヤバい職場かも……。

ちなみにお気付きの方もいらっしゃるかと思いますが、プログラム内容は前回の記事とほぼ変わりません(笑)。

変更点はExcelブックが開かれた時に実行しているところのみです。

手抜きですみません(笑)。

おすすめ記事

【JavaScriptライブラリ『jQuery』プログラミング】レトロなブラウザゲームをつくってみたよ!^^)

職場特有の人間関係や将来性に強いストレスや不安を感じている方は「在宅プログラマー」への転職(再就職)がオススメ

邪悪な人に関する記事

身近に潜んでいる陰湿で邪悪な支配者『マニピュレーター』

カバートアグレッションになる原因と対策・対処法

マニピュレーターの弱点と対策について。操りたがる人たちが恐れる『無敵の人』

『マニピュレーター』対策と弱点について。邪悪な人たちを寄せ付けない『忍びの心得』

『暗示』を得意とする邪悪な人。マニピュレーターによる洗脳とその手口について

マニピュレーターになる原因とは。共感力が欠落する経緯について。

閉塞感をともなうモラハラ。受動攻撃性パーソナリティ障害(PAPD)による『受動的攻撃行動』

今後、激増するかもしれない『職場のガスライティング』その種類と対策について

現代社会が生んだモンスター『カバートアグレッションを有するマニピュレーター』による深刻な『いじめ』

陰湿な嫌がらせと『カバートアグレッション』の違いと対処法について

『脆弱型ナルシストを見抜く』ための基準となる8つの特徴

脆弱型ナルシストに利用され、腐敗しはじめている会社の特徴5選

なぜ、あの人は「いじめ加害者」に寄り添うのか。~フライングモンキーの心理について~

脆弱な自尊心を抱えるナルシスト(NPD)に味方する厄介な取り巻き『フライングモンキー』の対策・対処法

誰もが『フライングモンキー』になるかもしれない理由 ~フライングモンキーの心理学~

フレネミー? いいえ、その人は『パラノイア』です。ちょっとしたことで敵へと豹変する人たちについて

職場のサイコパス、ナルシストなどが行う「心理的虐待(ガスライティングなど)」の虐待例と対策及び対処法

ストレスフルな職場で注意すべきメンタルや身体の危険な症状

邪悪どころではない危険な性質『サディスティックパーソナリティ障害(SPD)』とは。サディストの種類やその危険性について

「近づいてはいけない人達」を初見で見極める

毒親による病的ナルシスト『自己愛性パーソナリティー障害』

ナルシストとソシオパスを見極める

職場や家庭でサイコパスの有害性に匹敵する「ソシオパス(社会病質者)」

静かに攻撃する人達『受動攻撃性パーソナリティ障害』

静かに攻撃する人達『受動攻撃性パーソナリティ障害』
人は思い通りにならないと「不満」を感じます。通常はコミュニケーションを通じて、解決しようと試みますが・・・、そうではなく、直接相手に主張することはせず、約束を破る、さぼる、遅らせる、黙る、態度が悪くなる、不機嫌になる、否定的になる、敵対的になる、やたらと不平不満や批判、愚痴、デマ、恨み言、皮肉を口にするなど・・。このような拒絶的または受け身的なやり方で、攻撃感情を表現する人達がいます。ですが、彼(彼女)らは当ブログで頻繁に登場するナルシスト、反社会性タイプ(サイコパスやソシオパス)などの危険なパーソナリティーのように「称賛」や「利益」など何らかの明確な目的でこのような振る舞いをしているわけではありません。一見すると危険性は然程ないように思えます。とはいえ、仕事では不満になると意図的に作業効率を落とし、生産性を悪化させ、人間関係では不規則に強いストレスを放ち、更に他者依存的で同調圧力に弱く、場合によっては「いじめ」の加害者側に属します。今回はこのような特徴を有するタイプ『受動攻撃性パーソナリティ障害(PAPD)』についてご紹介します。

ナルシスト(NPD)による『ガスライティング』の特徴と対策

サイコパスが上司の場合は悲惨です。ですがサイコパスは社会的に成功している場合があります。もし上司がサイコパスに該当する場合は早めの対策を。下記はサイコパス上司とクラッシャー上司についての特徴と対策

サイコパスやサディスト、ナルシスト、反社会性の他にも危険なタイプが存在します。下記はサイコパスやサディスト、ナルシスト、反社会性の特徴をもつ危険なタイプについて

サイコパスを事前に把握し、対策することで、被害を回避、軽減できます。下記はサイコパスにおける20の特徴と対処法について

「怒り」の種類と、その「怒り」裏に隠されているかもしれない障害のタイプをご紹介します。「怒り」で周りの人や自分に潜む「パーソナリティー障害」や「精神障害」がわかるかもしれません。

婚活で注意したいサイコパス『ハイスペック(高収入)男子』

メンタルヘルスに関する記事

無愛想な人と仕事をするときの心構え

周りの目(他人の目)が気になる人への処方箋

多くの人がついやってしまう『人から嫌われる不快な行動5選』

本物のぼっち【シゾイドパーソナリティ障害】。職場で『ぼっち』になったらどうしよう。この記事を読んでいるあなたなら大丈夫。【新社会人および就活者向け】

なぜ『おとなしい人』は意地悪な人から目を付けられるのか。なぜなら『承認欲求が強い人』と『おとなしい人』との相性は最悪だからです

HSPで仕事や人間関係に疲れる。そして生きづらい。もう限界だと思っている方へのシンプルな対処法

メンタルを強くする2つの方法と即席で強化する思考術

『傷つかない考え方』と『傷つきやすい人』について。とある『傷つきやすい人』実は○○○○○かもしれません

職場特有の人間関係や将来性に強いストレスや不安を感じている方は「在宅プログラマー」への転職(再就職)がオススメ

不安や辛い過去に響くお釈迦様の教え「一夜賢者の偈」

落ち込む(気持ちが沈む)メンタルに効果的な4つのメンタルヘルス(アジェンス思考・習慣・栄養・ハーブ)

不満(イライラ・ムカつく・ドキドキ)なメンタルに簡単でスグにできる効果的な4つのメンタルヘルス(瞑想常駐(めいそうじょうちゅう)・習慣・栄養・ハーブ)

将来が不安な方はスクールに行って手に職をつけよう。プログラミングやデザイン、英語は特にオススメ。

精神を病む前に辞めてしまおう。お金ではなく、スキルを稼ごう。スキルは転職やフリーランス、起業における最強フリーパス

『○丼』によるメンタル対策「不安・緊張(プレゼン・スピーチ・商談・転職・就職活動・面接)にかなりオススメ」

職場でメンタルを回復する方法。オキシトシンをフル活用しよう!

不安なメンタルを解消・軽減しよう!「思考・習慣・栄養・ハーブ」による4つのメンタルヘルス

「不安」を感じやすい方のための栄養とハーブ

重い生理痛やPMS、職場特有の人間関係、ライフステージによる仕事のストレスや不安がある方は「在宅プログラマー」へ転職(または再就職)しよう