No.5ベストアンサー
- 回答日時:
ひょんなことから解決の糸口を発見
ThisWorkBookのモジュールに
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With ThisWorkbook
.CustomDocumentProperties("PC_Name") = Environ("ComputerName")
.CustomDocumentProperties("User_Name") = Environ("UserName")
.CustomDocumentProperties("Saved_Date") = Format(Now, "yyyy/mm/dd hh:nn:ss")
End With
End Sub
Private Sub Workbook_Open()
On Error Resume Next
With ThisWorkbook.CustomDocumentProperties
.Add Name:="PC_Name", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:=""
.Add Name:="User_Name", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:=""
.Add Name:="Saved_Date", _
LinkToContent:=False, _
Type:=msoPropertyTypeDate, _
Value:=0
End With
End Sub
二つ記述します。
これでメニュー → ファイル → プロパティ の
ユーザー設定タブに表示されます。(日時は日付のみ)
モジュールで確認したいときは(日時は秒まで表示)
標準モジュールに
Sub test()
Dim strMsg As String
With ThisWorkbook
strMsg = _
"PC名= " & .CustomDocumentProperties("PC_Name").Value
strMsg = strMsg _
& vbCrLf & "ユーザ名= " & .CustomDocumentProperties("User_Name").Value
strMsg = strMsg _
& vbCrLf & "VBAでの保存日= " & .CustomDocumentProperties("Saved_Date").Value
strMsg = strMsg _
& vbCrLf & "システム上の保存日= " _
& CreateObject("Scripting.FileSystemObject"). _
GetFile(ThisWorkbook.FullName).DateLastModified
End With
MsgBox strMsg
End Sub
ファイルサーバとクライアントマシンで時刻が違っていたり
保存時に時間がかかる場合を考慮すると
システム上の保存日を採用するべきですね。
※最後に保存したコンピュータや人を保存しているだけで
履歴は求められません。
No.4
- 回答日時:
こんぱんは。
>このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか?
必ずしもコンピュータ名ではありませんが、[共有設定]をしてあれば、Excelの中の、[ツール]-[変更履歴の表示]で、誰が変更したか分かるはずです。
No.3
- 回答日時:
こんばんは。
#1 さんとかぶってしまいました。
更新日に関しては、私の方では、同じでしたが、.BuiltinDocumentProperties からと、外部から取得するのでは、秒のずれがあるという話も聞いたことがあります。
Sub GetProperties()
Dim CmpName As String
Dim LastSave As Date
With CreateObject("WScript.Network")
CmpName = .ComputerName 'コンピュータ名
End With
With ThisWorkbook
'更新日
LastSave = .BuiltinDocumentProperties("Last Save Time")
End With
MsgBox "コンピュータ名: " & CmpName & vbCrLf & _
"更新日: " & Format$(LastSave, "yy/MM/dd hh:nn:ss")
End Sub
この回答への補足
ありがとうございます。このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか?
補足日時:2007/03/14 22:53No.2
- 回答日時:
コンピュータ名
?environ("computername")
↑ コマンドプロンプトのSET コマンドで求められる環境変数です
ログオン名だと
?environ("username")
ファイル作成日
?CreateObject("Scripting.FileSystemObject").GetFile("g:\temp\book2.xls").DateCreated
ファイル更新日
?CreateObject("Scripting.FileSystemObject").GetFile("g:\temp\book2.xls").DateLastModified
ファイルアクセス日
?CreateObject("Scripting.FileSystemObject").GetFile("g:\temp\book2.xls").DateLastAccessed
エクセルに限らず使えます
この回答への補足
ありがとうございます。このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか?
補足日時:2007/03/14 22:53No.1
- 回答日時:
こんにちは。
コンピュータ名をメッセージボックスに表示
MsgBox CreateObject("Wscript.NetWork").ComputerName
エクセルの更新年月日をメッセージボックスに表示
MsgBox ThisWorkbook.BuiltinDocumentProperties("Last Save Time")
この回答への補足
ありがとうございます。このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか?
補足日時:2007/03/14 22:48お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Excel(エクセル) エクセルについて 8 2023/02/11 07:36
- Excel(エクセル) マクロでPDFを印刷する方法 3 2023/02/15 09:40
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) マクロの保存先、開いてるすべてのブックの意味 エクセルを開き、表示→マクロ→マクロの表示と順番に開く 3 2022/06/25 17:52
- Excel(エクセル) エクセルのマクロの有効について 4 2023/08/03 11:40
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
マクロ VBA ファイル名を連番...
-
メール添付されているファイル...
-
開いてるファイル(エクセル等)...
-
エクセル保存時に覚えのないメ...
-
いきなりPDFでPDFファイルを開...
-
エクセルがwindows終了時に未保...
-
「変更を保存しますか?」と聞...
-
メールソフト「サンダーバード...
-
エクセルで保存の前に固まって...
-
エクセルのマクロについて教え...
-
Illustratorファイルに読み取り...
-
エクセル2019でPDFファイル名に...
-
Excel画面の自動更新 Excelファ...
-
エクセルファイルに上書き保存...
-
エクセル文書を保存したらメモ...
-
ピボットテーブルの更新ができない
-
「上書き保存確認ダイアログ」...
-
Excelの読み取り専用について質...
-
エクセルでCSVファイルとして保...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセル文書を保存したらメモ...
-
いきなりPDFでPDFファイルを開...
-
メール添付されているファイル...
-
エクセルでVBAを使用して1分毎...
-
マクロ VBA ファイル名を連番...
-
Excel画面の自動更新 Excelファ...
-
ピボットテーブルの更新ができない
-
開いてるファイル(エクセル等)...
-
エクセル・マクロ(VBA)で、指定...
-
OneDriveに保存したファイルは...
-
エクセルでCSVファイルとして保...
-
Illustratorファイルに読み取り...
-
「名前を付けて保存」ができな...
-
エクセルで保存の前に固まって...
-
エクセル表のCSV化ができない
-
csvファイルを上書き保存でカン...
-
マクロVBA特定フォルダーに次々...
-
「変更を保存しますか?」と聞...
-
エクセル 更新していないのに...
おすすめ情報