• ベストアンサー

エクセルでマクロを使いコンピュータ名を表示する

エクセルでマクロを使いコンピュータ名やエクセルの更新年月日などを表示したいのですが可能でしょうか?教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答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 ファイルサーバとクライアントマシンで時刻が違っていたり 保存時に時間がかかる場合を考慮すると システム上の保存日を採用するべきですね。 ※最後に保存したコンピュータや人を保存しているだけで  履歴は求められません。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんぱんは。 >このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか? 必ずしもコンピュータ名ではありませんが、[共有設定]をしてあれば、Excelの中の、[ツール]-[変更履歴の表示]で、誰が変更したか分かるはずです。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答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

marutin99
質問者

補足

ありがとうございます。このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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 エクセルに限らず使えます

marutin99
質問者

補足

ありがとうございます。このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

こんにちは。 コンピュータ名をメッセージボックスに表示 MsgBox CreateObject("Wscript.NetWork").ComputerName エクセルの更新年月日をメッセージボックスに表示 MsgBox ThisWorkbook.BuiltinDocumentProperties("Last Save Time")

marutin99
質問者

補足

ありがとうございます。このエクセル表が他のコンピュータで更新されていた場合、何処のコンピュータで更新されたかをコンピューター名で判断したいのですが可能でしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのマクロ シートタブ名をA1に表示するには?

    エクセルのマクロの質問です。 シートタブ名を、そのシートの「A1」のセルに書き込みたいのですが、 どのようにマクロをくめばよいでしょうか? Excel2002です。 よろしくお願いいたします。

  • エクセル(2007~)のマクロ検索での画面表示についてお教え下さい。

    エクセル(2007~)のマクロ検索での画面表示についてお教え下さい。 エクセル初心者です。現在お仕事で入力作業をしていますが、 マクロで作成されているデータにつきまして、 登録番号 氏名 フリガナ ローマ字氏名 生年月日 受付日 などの個人情報が多量に入力されております。 例えば、 生年月日のみ、まだ入力がされていないため マクロの検索で登録番号から一人一人呼び出して生年月日を追加入力して行くのですが、 検索が終わった後、1件分のみの表示になるのですが もとの表示に戻したいのです(再度、多量の個人情報を表示)。 どこのどのボタンを押せば良いか、教えて頂きたいです。 それともう1点なのですが、 半角カタカナは、ャョ などの小文字が使えない(データベース?などですでに設定されているので、良子:リヨウコとなる)ようなのですが、手入力してみるとリョウコと入力が出来るのですが どのような事が考えられますでしょうか。。? 分かりづらい表現で申し訳ありませんが宜しくお願い致します。

  • Excelのマクロについて

    Excelのマクロについて excel2003で,マクロの自動記録を勉強中です。 [ツール]-[マクロ]-[新しいマクロの記録]でマクロ名を入力し,(マクロの保存先を「作業中のブック」として,)[OK]をクリックすると マクロの記録が始まります。 マクロの記録終了後, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が表示されます。 この場合は実行も正常にできます。 しかし, ブックを一旦保存した後,開いて,マクロを実行しようと, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が(マクロ名単独ではなく)ブック名とともに表示されます。 実行するとエラーになります。 何が悪いのか分かりません。なにか基本的なミスがあるのかも知れないと考えました。 原因(ミス)に心当たりのあるかた,是非教えてください。

  • エクセルのマクロ

    エクセルのマクロでわからないことがあり質問なんですが A1セルの数値がリアルタイムに更新されていて このA1セルの数値が更新されるたびに B1とB2にA1セルの最新の値を交互にコピーしていくマクロを 作りたいんですがうまくいきません。 例としては A1に1と表示→B1に1と表示 A1に7と表示→B2に7と表示 A1に18と表示→B1に18と表示 これをA1セルが更新され続ける限り繰り返しすマクロです。 どなたか教えていただけるとありがたいです。

  • エクセル マクロについて。

    エクセルでマクロを組んだブックを3台のPCで共有して、 5分で自動更新しています。 しかしそれぞれのPCで別のアプリを実行しているため、 エクセルが隠れてしまい、変更があった時も見逃して しまいます。 そこで、自動更新ごと又は、一定時間ごとにエクセルの画面を デスクトップの最前面に表示して目につきやすくしたいのです。 マクロ等で対応はできないしょうか?

  • エクセルのマクロ名に使えない文字、記号は?

    エクセルのマクロ名に使えない文字、記号はなんですか? マクロ名を見やすくするために「~」などの記号を使うとマクロの作成ができません。 どなたかご存知の方がいらっしゃいましたらお暇なときでかまいませんのでお願いいたします。 エクセルのバージョンは2000です。

  • DS-60000 コンピュータ名が表示されない

    DS-60000を6年ほど会社で使用しています。ネットワークスキャンでネットワークインタフェースパネルにコンピュータ名が表示されていたのですが、Internet Explorer(以下、IE)サポート終了があるため、PC側のIEを削除したところ、コンピュータ名が表示されなくなりました。 念のため、Epson Scan2、Document Capture Pro、スキャナのファームウェアを最新に更新しましたが、解消しません。 なお、PC側からのEpson Scan2、Document Capture Proの操作によるスキャンは可能です。コンピュータ名が表示されないため、ネットワークインタフェースパネル上からのスキャン操作ができません。 ※OKWAVEより補足:「EPSON社製品」についての質問です。

  • エクセルのマクロについて

    エクセルのマクロで 月/日/年を年月日に変換したいと思います。 具体的には4/5/2010を20100405に変換するイメージです。 そのやり方をお教えいただけないかと思います。 よろしくお願い致します。

  • エクセルのVBAマクロで隠れシートを表示させる方法について教えて下さい

    エクセルのVBAマクロで隠れシートを表示させる方法について教えて下さい。 エクセルで”書式→シート→表示しない”を実行するとエクセルのシートを非表示にすることが出来ます。 逆に”書式→シート→表示する”にすると隠れているシートが表示出来ます。 この非表示のシートを表示させるVBAマクロの記載を教えて下さい。 但し、”Sheets(シート名).Visible = True”の様にシート名を記載すれば非表示のシートが表示されるのは知っています。今回知りたいのは、シート名の分からない全ての非表示のシートを表示させるVBAマクロの記載方法を教えて下さい。

  • Excelのマクロについて質問です。

    Excelのマクロについて質問です。                 温度 1  2010/9/21  16:37  24.9 2  2010/9/21  16:37  24.9 3  2010/9/21  16:38  24.8 4  2010/9/21  16:38  24.8 5  2010/9/21  16:39  24.9 6  2010/9/21  16:39  24.9 計測機器を用いて上のようにExcelのシート上にどんどん更新されていく数値の一番新しい温度の数値のみを別のシートに表示させるには、どのようなマクロを使えばいいか教えてください。

専門家に質問してみよう