ここでユーザー用のExcelテンプレート(* .xlt)を作成していますが、新しいドキュメントが作成されたとき(つまり、ファイルをダブルクリックしたとき)に現在の日付を挿入するようにします。 Windowsエクスプローラ)。どうすればよいですか?
更新: vba(マクロ)を使用したくないことを追加する必要がありました。それが唯一のオプションである場合はそうですが、ユーザーに「マクロコンテンツの許可」ボタンをクリックすることを忘れないようにしたいと思います。
ワークシート関数=TODAY()を使用できますが、ブックが再計算されるたびに、これは明らかに現在の日付に更新されます。
私が考えることができる他の唯一の方法は、1729が言ったように、Workbook_Openイベントをコーディングすることです。
Private Sub Workbook_Open()
ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Date
End Sub
テンプレートにデジタル署名し(VBAIDEツール|デジタル署名...)、デジタル証明書を選択することで、ユーザーが毎回マクロを受け入れる必要があるという問題を減らすことができますが、商用証明書から証明書を取得する必要があります権限(http://msdn.microsoft.com/en-us/library/ms995347.aspxを参照)。ユーザーは、テンプレートを最初に実行するときに常にこの証明書を信頼するように選択する必要がありますが、その後は再度プロンプトが表示されることはありません。
Excel の既定のテンプレートを編集できます -
Book.xlt
ディレクトリに呼び出されたファイルがありXLSTART
、通常は次の場所にありますC:\Program Files\Microsoft Office\Office\XLStart\
Workbook_Open というマクロを追加できるはずです
Private Sub Workbook_Open()
If ActiveWorkBook.Sheets(1).Range("A1") = "" Then
ActiveWorkBook.Sheets(1).Range("A1") = Now
End If
End Sub
私のVBAは少しさびていますが、このようなものがうまくいくかもしれません。
VBAを回避し、ユーザーが指示に従う可能性があると思われる場合は、日付をコピーしてから、特殊->値を貼り付けて日付を設定し、将来変更されないようにすることができます。