
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
№4さんお回答にもありますが、データを更新しても保存せずに終了することもあると思いますので、
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,Cancel As Boolean)イベントプロシージャーの方がよいと思います。
参考https://kosapi.com/post-2038/
データを更新せずに保存することもあるかもしれませんし、データを更新した後に再更新して元に戻してから保存することもあるかもしれません。そこまで厳密にしなくてよいかと思います。
No.4
- 回答日時:
こんばんは
一度に変更する箇所が数千とかで無いのなら、大丈夫かな、、
OneDriveだったかSharePointだったかで教えてくれる機能があったような、、使わなないので解りませんが。
#3では、説明を割愛しましたが、
セル(行列)の削除などは使えなくなります。また、エラー処理は行っていないのでサンプル程度としてください。
使用する場合、
Outlookを事前バインディングしてください。
Private Sub Workbook_BeforeClose(Cancel As Boolean) は
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) の方が良いかも
なさりたい事をざっくりコードにしてみただけで検証を行っていません。
なので実用的では、ないかもですね。
No.3
- 回答日時:
こんにちは
変更できるセルはどのくらいあるのでしょうか?
沢山であれば、問題になるかと思いますが、少しならこんな感じで
Option Explicit
Dim aryData()
Dim n As Long
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim bf_val, af_val()
Dim cnt As Long
Application.EnableEvents = False
For cnt = 1 To Target.Count
ReDim Preserve af_val(cnt)
af_val(cnt) = Target(cnt).Formula
Next
Application.Undo
For cnt = 1 To Target.Count
bf_val = Target(cnt).Formula
Target(cnt).Formula = af_val(cnt)
If af_val(cnt) <> bf_val Then
If bf_val = "" Then bf_val = "Empty?"
ReDim Preserve aryData(n)
aryData(n) = Sh.Name & "_" & Target.Address(0, 0) & " : " & bf_val & " --> " & af_val(cnt)
n = n + 1
End If
Next
Application.EnableEvents = True
End Sub
Sub SendEmail()
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(olMailItem)
Dim i As Long
Dim BodyText As String
For i = 0 To UBound(aryData)
BodyText = BodyText & aryData(i) & vbCrLf
Next
With objMail
.To = "" 'メール宛先
.Subject = "Excel 編集" 'メール件名
.Body = Format(Date, "yyyy/mm/dd") & vbCrLf & _
Application.UserName & vbCrLf & vbCrLf & _
BodyText 'メール本文
.Display
' .Send
End With
Set objMail = Nothing
Set objOutlook = Nothing
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If n > 0 Then
Call SendEmail
End If
Erase aryData '不要
n = 0 '不要
'Cancel = True '不要デバッグ用
End Sub
すべてThisWorkbookモジュールに記
Outlookは取敢えず表示(送信準備)
バックグランドでの送信などは調べてください。
共有ファイルで試していないのでダメかも知れません。
No.2
- 回答日時:
こんにちは
マクロに関してはすでに回答がでていますので・・・
メールは送れませんけれど、エクセルの機能で以下のようなものがあります。
この程度では使い物にはならないでしょうか。
https://forest.watch.impress.co.jp/docs/serial/e …
No.1
- 回答日時:
こんにちは。
直接の回答ではありませんが、正直、かなり難しいのでは?と思います。
もし作成されるなら、下記の組み合わせが必要だと思います。
(下記HPの詳細は見ていませんので、最適化は不明です。)
作成する前に、どの様な仕様で作成するかを、きちんと決めないと、
後々、トラブルになりそうな気がします。
あと、変更履歴がちゃんと残るかなど、検証も必要かと。
VBAでメール作成・送信!エクセルマクロでOutlook操作する方法
https://fastclassinfo.com/entry/vba_outlook_send …
ブックが閉じる時に自動実行(Workbook_BeforeCloseとAuo_Close)
https://excel-ubara.com/excelvba4/EXCEL240.html
共有しているエクセルファイルの変更履歴・更新ログをとる方法
https://deskworklabo.jp/auto-log/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- 待ち受け・壁紙 ラインとメールだけディスプレイ画面を表示させたい 2 2023/04/16 21:27
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Amazon 大至急先ほどAmazonからメールが来て。以下の内容で来ました。 Amazon利用いただきありがとう 6 2022/12/14 07:04
- その他(Microsoft Office) 会社PCのメールが更新されない 6 2023/07/17 23:19
- Windows 10 outlook 2013でメール内の検索が不可。 1 2022/09/22 16:30
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- ハッキング・フィッシング詐欺 またきたフィッシング詐欺 8 2023/05/23 00:23
- サーバー WIN10のファイル又はフォルダを社内LAN上HDDで共有する場合、特定の人だけが見えるようにしたい 3 2023/04/18 00:32
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルに入力されたらメールが担当者に送信されるには?
Excel(エクセル)
-
Excelの更新をメール通知
Excel(エクセル)
-
共有ファイルの更新を通知する方法
Excel(エクセル)
-
-
4
Excelで作業終了時、メールを自動送信したい。
Excel(エクセル)
-
5
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
6
エクセルでメールの自動送信
Excel(エクセル)
-
7
エクセルで作成した表に入力した時自動でメールが送れるようにできますか?
Excel(エクセル)
-
8
エクセルである日付を過ぎたら自動でメール送信。
Excel(エクセル)
-
9
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
10
EXCEL共有ファイルの使用中の相手への通知
Excel(エクセル)
-
11
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
12
EXCELファイルに誰がアクセスしたかを見たい
Access(アクセス)
-
13
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
14
ファイルのアクセス回数について
Access(アクセス)
-
15
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
16
エクセル マクロ セル数値が条件を満たしたらメールを送信する
Excel(エクセル)
-
17
自分の部署・担当を言うとき、どういう言い方が正しいでしょうか?? 会社のときは、弊社といいますが、部
その他(ビジネス・キャリア)
-
18
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
19
リンクが絶対途中で切れてしまうんですが・・・
Outlook(アウトルック)
-
20
Excelで隠れてしまった図やテキストボックスを探す方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
受信メールの添付ファイル忘れ...
-
一度聞いたかも知れないのをっ...
-
通帳口座番号 メールで送っても...
-
メール送信すると以下のような...
-
送信エラーの際、CCには届い...
-
お祝い金を徴収するメールの書き方
-
メールの書き方 保護者から先生へ
-
メールの一斉送信で非対象者に...
-
相手にメールを送信したら、 Ea...
-
自分のアドレスにCCを送信す...
-
エクセルを更新したらメールが...
-
報告メールを送る女性の心理
-
PCでThunderbirdのメールを使っ...
-
送信しても『Mail System Error...
-
Thunderbirdの登録名について
-
空メールって何も書かなくてい...
-
失礼な文とは分からず、先生に...
-
"***@***.ocn.ne.jp"の"@***"は...
-
大学の先生からのメールに、夜...
-
iPhoneのメールについて教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
受信メールの添付ファイル忘れ...
-
一度聞いたかも知れないのをっ...
-
通帳口座番号 メールで送っても...
-
送信エラーの際、CCには届い...
-
メール送信すると以下のような...
-
メールの一斉送信で非対象者に...
-
お祝い金を徴収するメールの書き方
-
メールの書き方 保護者から先生へ
-
送信しても『Mail System Error...
-
報告メールを送る女性の心理
-
失礼な文とは分からず、先生に...
-
PCでThunderbirdのメールを使っ...
-
エクセルを更新したらメールが...
-
"***@***.ocn.ne.jp"の"@***"は...
-
空メールって何も書かなくてい...
-
自分のアドレスにCCを送信す...
-
相手にメールを送信したら、 Ea...
-
iphoneからメールで写真を送付...
-
大学の先生からのメールに、夜...
-
Winmail.dat ファイルが開けない
おすすめ情報
シートが2021年4月から2022年3月まであり、
その中のセルD12からAH101までのどこかが変更したら、お知らせがくるようにしたいのですが、難しいでしょうか?