A 回答 (4件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Windowsのタスク処理で3ヶ月に1回起動するようにすればいいのでは?
http://accessclub.jp/samplefile/help/help_220_1. …
さもなければOutlookの予定表の定期的なアイテムでアラームを出させるとか?
http://office.microsoft.com/ja-jp/outlook/HA0109 …
No.3
- 回答日時:
こんにちは。
一応、サブルーチンにしてありますから、ファイル名を入れれば、一覧が出てきます。
これを、個人用マクロブック(アドイン)のThisWorkbook モジュールに、プロシージャ名の名前を変えて、入れておけばよいと思います。更新(オプション:閲覧)しない限りは、永遠に出てきます。
''Private Sub Workbook_Open()
閲覧のみ
FileDateCheck(Fname1, True) 'オプション
------------------------------------------------------------
Sub CheckFileViewDate()
'ファイルと本日の日差を取るマクロ
Dim Fname1 As String 'ファイル名
Dim Dif As Integer '日差
Fname1 = Application.DefaultFilePath & "\" & "test061.xls"
Dif = FileDateCheck(Fname1) 'オプション可
If Dif >= 90 Then
MsgBox Fname1 & vbCrLf & " 経過: " & Dif & "日"
End If
End Sub
Function FileDateCheck(Fname1 As String, Optional blnView As Boolean = False)
'引数:Fname1 ファイル名, blnView デフォルト False [False 更新, True 閲覧]
Dim objFile As Object
Dim Fdate As Date
If Dir(Fname1) = "" Then FileDateCheck = "": Exit Function
With CreateObject("Scripting.FilesystemObject")
Set objFile = .GetFile(Fname1)
Fdate = objFile.DateLastModified '更新日
If blnView Then
Fdate = objFile.DateLastAccessed '閲覧日
End If
FileDateCheck = DateDiff("d", Fdate, Date)
End With
Set objFile = Nothing
End Function
------------------------------------------------------------
この回答への補足
ご返信ありがとうございます。
ただ、申し訳ございませんが不勉強のため上記の回答のみでは、どうやって利用するべきなのか理解できません。
よろしければ、初心者に分かるレベルでどのように使うべきか教えていただけますか?
No.4
- 回答日時:
こんにちは。
#3です。最初に、#3のコードは、2年以上、実際に使っているコードを抜き出したものです。私の場合は、3日という期限で、3日経つと、バックアップをするというシステムです。ちゃんと、2年以上の間、問題なく動き続けているものです。
さて、私も、#3だけでは済まないとは思っていました。
いくつか手直しするべきものがあります。
まず、ファイルのリストなどありますか?
イメージとしては、90日、閲覧または更新しない限りは、メッセージボックスが出てくるものです。以下の設定は、「更新」という設定にしてあります。
個人用マクロブックなら、簡単などなたでも、取り付けることは可能です。
個人用マクロブックは、メニューのツール-マクロ-新しいマクロの記録
で、保存先を、「個人用マクロブック」としてしてやると、自動的にファイルが出来上がります。
Alt + F11 で、VBEditor 画面を出してあげると、
プロジェクトという窓の中に、VBAProject(PERSONAL.XLS)というのがありますが、そこが開いていないなら、「+」を押して、開いて、"ThisWorkbook"という場所をダブルクリックして、エディタ用の画面を開いて貼り付けます。(なお、記録マクロ自体は、Module1 というところに入っていて、余計ですから、全てマウス選択で削除してしまってください。)
ファイルのリストは、いくつありますか?
もちろん、複数ですよね。
ファイル名の入れ方は、myPath というのは、Excelのオプションで登録されたパスのことです。
Array( の後に、
myPath & "test1.xls", _ ← 「, _」
"C:\Documents and Settings\[ユーザー名]\My Documents\excel02.xls"
つなげて入れる場合は、一行の終わりに、「, _」(コンマ+半角スペース+アンダーバー)と入れて、次の行に書き込むと見やすくなりますが、単に、「,」だけで、以下のように横につなげていっても可能です。
myPath & "test1.xls","C:\Documents and Settings\[ユーザー名]\My Documents\excel02.xls"
'------------------------------------------------------------------
'ThisWorkbook モジュール
Private Sub Workbook_Open()
'ファイルと本日の日差を取るマクロ
Dim Fnames As Variant 'ファイル名(配列用)
Dim buf As String
Dim f As Variant 'ファイル名
Dim Dif As Variant '日差
Dim myPath As String
'規定なデフォルトパス
myPath = Application.DefaultFilePath & "\"
'**ここに、ファイル名を入れます。ただし、「, 」で区切ります。
Fnames = Array(myPath & "test1.xls", _
"C:\Documents and Settings\[ユーザー名]\My Documents\" & "excel02.xls")
For Each f In Fnames
Dif = FileDateCheck(f) 'オプション可
'90日より以上(× >=90)
If Val(Dif) > 90 Then
buf = buf & vbCrLf & vbCrLf & f & vbCrLf & " 経過: " & Dif & "日"
ElseIf Dif = "missing" Then
buf = buf & vbCrLf & vbCrLf & f & vbCrLf & " 所在不明: "
End If
Next
If InStr(buf, ":") > 0 Then
MsgBox Mid$(buf, 4)
End If
End Sub
Function FileDateCheck(Fname1 As Variant, Optional blnView As Boolean = False)
'引数:Fname1 ファイル名, blnView デフォルト False [False 更新, True 閲覧]
Dim objFile As Object
Dim Fdate As Date
If Dir(Fname1) = "" Then
FileDateCheck = "missing"
Exit Function
End If
With CreateObject("Scripting.FilesystemObject")
Set objFile = .GetFile(Fname1)
Fdate = objFile.DateLastModified '更新日
If blnView Then
Fdate = objFile.DateLastAccessed '閲覧日
End If
FileDateCheck = DateDiff("d", Fdate, Date)
End With
Set objFile = Nothing
End Function
これを貼り付けたら、その画面の状態で、「Ctrl + S」 で、保存して、一旦、Excelを閉じてしまえば、今度は、起動するたびに、ファイルをチェックします。ちゃんとしないと、結構、うっとうしい存在になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- サーバー WIN10のファイル又はフォルダを社内LAN上HDDで共有する場合、特定の人だけが見えるようにしたい 3 2023/04/18 00:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】その時、その時で変...
-
エクセル終了時の保存確認メッ...
-
サクラエディタのマクロ設定を...
-
Excelが勝手にシート移動してし...
-
マクロの有効化するダイヤログ...
-
【マクロ】エラーが発生⇒実行時...
-
「開いているすべてのブック」...
-
エクセルのマクロについて教え...
-
VBA マクロ実行時エラー’1004Ra...
-
Excelマクロ ファイル名が変わ...
-
EXCEL右上のバッテンでは保存で...
-
VBAを一度起動するとずっと出て...
-
excelでpersonal.xlsを常に開く...
-
EXCELでマクロを記録する際に、...
-
秀丸で保存時のフォルダを固定...
-
AccessからExcelマ...
-
Officeマクロが使えなくなった
-
コピーしたファイルのマクロを...
-
EXCEL マクロ クリップボードク...
-
エクセルマクロを有効にしない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
VBAを一度起動するとずっと出て...
-
コピーしたファイルのマクロを...
-
別のパソコンでエクセルのマク...
-
VBA マクロ実行時エラー’1004Ra...
-
EXCEL マクロ クリップボードク...
-
昨日まで動いていたエクセルの...
-
Excelマクロ ファイル名が変わ...
-
excelファイルに使われているVB...
-
アクセスでファイルを開いたと...
-
エクセルマクロ実行中に別ファ...
-
エクセルマクロにてパワーポイ...
-
エクセル2013vbaで、見えない名...
-
マクロを消すマクロは不可能?
-
excelが別プロセスで起動してし...
-
エクセルファイルを自身のファ...
-
excelでpersonal.xlsを常に開く...
-
Excelが勝手にシート移動してし...
-
Excel2010 PERSONAL.xlsbの挙動...
-
excelのマクロ実行でブロックさ...
おすすめ情報