Excelといえば表計算ですが、できるのはそれだけじゃありません。
『VBA』というExcelの拡張機能でプログラミングも可能なのです。
もちろんExcelさえパソコンに入っていれば、すぐにでも練習可能。
ゆえに、もうプログラミングの手前(開発環境の構築とか)で悩む必要なんてありません。
それにVBAなら情報量が豊富ですし、デバック(プログラム内のバグを改修する作業)も比較的わかりやすく、しかもつくった作品で会社のExcel業務がぐっと楽になるかもしれないのです。
ですので……
「プログラマーに興味があるけど、その前に体験してみたい……」
「会社でも使える実用的なモノをつくってみたい」
「手軽にプログラミング学習できたらなぁ……」
そんな方に『VBA』はうってつけです。
とまぁ、前置きはこれくらいにして、今日からあなたもVBAプログラマー。
さっそく何かプログラミングしてみましょう!
どこでも食っていけるWeb人間になれる【Web食いオンラインスクール】
ちなみにVBAの初心者向けサイトはネット上にたくさんありますので、基礎的な部分はそちらを参考にしてください(丸投げですみません)。
では。
いきなりですがVBAでyahooメールを使って(送信元にして)メールの送信をしてみましょう!(なんでメール?というツッコミはご容赦ください。なんとなくです)
でもその前にyahooメールの設定を変更する必要があります。
yahooメールを開いて、設定(歯車のマーク)をクリックしてください。
次にIMAP/POP/SMTPアクセスをクリックして下記のように設定を変更してください。
yahooメールの設定はこれで準備OKです。
下記がVBAのコードになります。
Option Explicit
Sub excelMail()
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 = "xxxxxxxxxxxxxxx@yahoo.co.jp"
'※※yahooメールのSMTPパスワード(yahooメールのパスワード)
'パスワードを数回間違えるとしばらくの間、
'SMTPサーバーに接続できなくなります
'もしそうなったら、一定時間(どのくらいかは不明)経過後、
'yahooアカウントを一旦ログアウト、再度ログインしてお試しください
mailFromPassword = "xxxxxxxxxxxxxx"
'※※宛先
mailTo = "xxxxxxxxxxxxxx@xxxxx.xxx"
'送信用メールのSMTPサーバ(yahooメール以外の場合は変更が必要)
mailFromSmtp = "smtp.mail.yahoo.co.jp"
'送信用メールのポート番号(yahooメール以外の場合は変更が必要)
mailFromPort = "465"
'メールの文字コード
mailCharset = "ISO-2022-JP"
'※※メールのタイトル
mailSubject = "テストメールその1"
'※※メールの本文
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
MsgBox "メールを送信しました"
End If
'初期化
Set mailObj = Nothing
errNumber = 0
Exit Sub
ErrorTrap:
errNumber = Err.Number
MsgBox "エラーの番号:" & Err.Number
MsgBox "エラーの概要:" & Err.Description
Resume Next
End Sub
Excelというか、Excelに付属しているVBE(Visual Basic Editor)上でのみ実行可能なyahooメールを使ってメールを送信するだけのコードですが、改良すれば見た目も、機能もそれっぽくなりますよ!(^^)!
たとえば指定した日時以降にExcelファイルが更新されたらファイルを自動送信するとか。
特定のセルの値が変更されたら、その内容を自動送信するとか。
あるいはシートごとにメールのフォーマットと送信ボタンを用意しておくとか。
考え方次第で色んなことができるはずです。
結構楽しいですし、会社で一目置かれるようになるかもしれませんよ~(^^)
まずはVBAでプログラミングをやってみましょう!
おすすめ記事
【JavaScriptライブラリ『jQuery』プログラミング】レトロなブラウザゲームをつくってみたよ!^^)
職場特有の人間関係や将来性に強いストレスや不安を感じている方は「在宅プログラマー」への転職(再就職)がオススメ
邪悪な人に関する記事
身近に潜んでいる陰湿で邪悪な支配者『マニピュレーター』
カバートアグレッションになる原因と対策・対処法
マニピュレーターの弱点と対策について。操りたがる人たちが恐れる『無敵の人』
『マニピュレーター』対策と弱点について。邪悪な人たちを寄せ付けない『忍びの心得』
『暗示』を得意とする邪悪な人。マニピュレーターによる洗脳とその手口について
マニピュレーターになる原因とは。共感力が欠落する経緯について。
閉塞感をともなうモラハラ。受動攻撃性パーソナリティ障害(PAPD)による『受動的攻撃行動』
今後、激増するかもしれない『職場のガスライティング』その種類と対策について
現代社会が生んだモンスター『カバートアグレッションを有するマニピュレーター』による深刻な『いじめ』
陰湿な嫌がらせと『カバートアグレッション』の違いと対処法について
『脆弱型ナルシストを見抜く』ための基準となる8つの特徴
脆弱型ナルシストに利用され、腐敗しはじめている会社の特徴5選
なぜ、あの人は「いじめ加害者」に寄り添うのか。~フライングモンキーの心理について~
脆弱な自尊心を抱えるナルシスト(NPD)に味方する厄介な取り巻き『フライングモンキー』の対策・対処法
誰もが『フライングモンキー』になるかもしれない理由 ~フライングモンキーの心理学~
フレネミー? いいえ、その人は『パラノイア』です。ちょっとしたことで敵へと豹変する人たちについて
職場のサイコパス、ナルシストなどが行う「心理的虐待(ガスライティングなど)」の虐待例と対策及び対処法
ストレスフルな職場で注意すべきメンタルや身体の危険な症状
邪悪どころではない危険な性質『サディスティックパーソナリティ障害(SPD)』とは。サディストの種類やその危険性について
「近づいてはいけない人達」を初見で見極める
毒親による病的ナルシスト『自己愛性パーソナリティー障害』
ナルシストとソシオパスを見極める
職場や家庭でサイコパスの有害性に匹敵する「ソシオパス(社会病質者)」
静かに攻撃する人達『受動攻撃性パーソナリティ障害』
ナルシスト(NPD)による『ガスライティング』の特徴と対策
サイコパスが上司の場合は悲惨です。ですがサイコパスは社会的に成功している場合があります。もし上司がサイコパスに該当する場合は早めの対策を。下記はサイコパス上司とクラッシャー上司についての特徴と対策
サイコパスやサディスト、ナルシスト、反社会性の他にも危険なタイプが存在します。下記はサイコパスやサディスト、ナルシスト、反社会性の特徴をもつ危険なタイプについて
サイコパスを事前に把握し、対策することで、被害を回避、軽減できます。下記はサイコパスにおける20の特徴と対処法について
「怒り」の種類と、その「怒り」裏に隠されているかもしれない障害のタイプをご紹介します。「怒り」で周りの人や自分に潜む「パーソナリティー障害」や「精神障害」がわかるかもしれません。
婚活で注意したいサイコパス『ハイスペック(高収入)男子』
メンタルヘルスに関する記事
無愛想な人と仕事をするときの心構え
周りの目(他人の目)が気になる人への処方箋
多くの人がついやってしまう『人から嫌われる不快な行動5選』
本物のぼっち【シゾイドパーソナリティ障害】。職場で『ぼっち』になったらどうしよう。この記事を読んでいるあなたなら大丈夫。【新社会人および就活者向け】
なぜ『おとなしい人』は意地悪な人から目を付けられるのか。なぜなら『承認欲求が強い人』と『おとなしい人』との相性は最悪だからです
HSPで仕事や人間関係に疲れる。そして生きづらい。もう限界だと思っている方へのシンプルな対処法
メンタルを強くする2つの方法と即席で強化する思考術
『傷つかない考え方』と『傷つきやすい人』について。とある『傷つきやすい人』実は○○○○○かもしれません
職場特有の人間関係や将来性に強いストレスや不安を感じている方は「在宅プログラマー」への転職(再就職)がオススメ
不安や辛い過去に響くお釈迦様の教え「一夜賢者の偈」
落ち込む(気持ちが沈む)メンタルに効果的な4つのメンタルヘルス(アジェンス思考・習慣・栄養・ハーブ)
不満(イライラ・ムカつく・ドキドキ)なメンタルに簡単でスグにできる効果的な4つのメンタルヘルス(瞑想常駐(めいそうじょうちゅう)・習慣・栄養・ハーブ)
将来が不安な方はスクールに行って手に職をつけよう。プログラミングやデザイン、英語は特にオススメ。
精神を病む前に辞めてしまおう。お金ではなく、スキルを稼ごう。スキルは転職やフリーランス、起業における最強フリーパス
『○丼』によるメンタル対策「不安・緊張(プレゼン・スピーチ・商談・転職・就職活動・面接)にかなりオススメ」
職場でメンタルを回復する方法。オキシトシンをフル活用しよう!
不安なメンタルを解消・軽減しよう!「思考・習慣・栄養・ハーブ」による4つのメンタルヘルス
「不安」を感じやすい方のための栄養とハーブ
重い生理痛やPMS、職場特有の人間関係、ライフステージによる仕事のストレスや不安がある方は「在宅プログラマー」へ転職(または再就職)しよう