Loriは、ワークシートのフッターの右側に、ワークブックが最後に保存された日付を含めることを望んでいます。これを行うための数式を作成しようとするたびに、Excelは「文字列が長すぎます」というエラーメッセージを表示し、一部の文字を削除する必要があることを示します。彼女は、なぜこれが起こっているのか、またはフッターで希望の日付を取得する方法を理解しているかどうかわかりません。

最後に保存された日付をフッターに入れることができる実際の式はありません。

Excelには(Wordとは異なり)このちょっとした情報をそこに置く方法がありません。

それを行う方法はありますが、解決策にはマクロを使用する必要があります。その理由は、システム情報(Excel自体の外部の情報)にアクセスしており、その情報はVBAなどのプログラミング言語を使用してのみ取得できるためです。

1つのアプローチは、ブックが保存されるたびに実行されるコードを追加することです。

コードは、目的のフッターを現在の日付で更新します:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)



ActiveWorksheet.PageSetup.RightFooter = _       "Last Saved: " & Format(Date, "mmmm d, yyyy")

End Sub

このマクロは、影響を与えるワークブックのThisWorkbookオブジェクトに格納する必要があり、現在アクティブなワークシートのフッターを更新します。ブック内のすべてのワークシートに影響を与えたい場合は、マクロに小さな変更を加える必要があります:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)

Dim sht As Worksheet

For Each sht In Sheets         sht.PageSetup.RightFooter = _           "Last Saved: " & Format(Date, "mmmm d, yyyy")

Next End Sub

今日が2011年12月12日の場合、マクロの実行後(保存時に自動的に実行されます)、右側のフッターはすべて「最終保存日:2011年12月12日」に設定されます。

Excelの組み込みプロパティに保存されているファイルの保存日を信頼することもできます。その日付をフッターに入力する方法は次のとおりです。

Sub RightFooterLastSaved()

ActiveSheet.PageSetup.RightFooter = _        ActiveWorkbook.BuiltinDocumentProperties(12)

End Sub

このマクロの欠点は、定期的に実行することを忘れないようにする必要があるため、以前のアプローチほど自動化されていないことです。ただし、マクロの中心にある1行をWorkbook_BeforePrintイベントハンドラーに配置することはできます。

使用できる別のアプローチがあります。これには、ファイルが保存された実際の日時をWindowsから要求することが含まれます。

Private Sub Workbook_Open()

Dim sTemp As String     Dim sht As Worksheet

sTemp = FileDateTime(ActiveWorkbook.FullName)

sTemp = "Last Saved: " & sTemp     For Each sht In Sheets         sht.PageSetup.RightFooter = sTemp     Next sht End Sub

このマクロは、ブックが最初に開かれるたびに実行されるように設計されています。これは、ThisWorkbookオブジェクトのWorkbook_Openプロシージャとして保存されます。マクロの主力は、FileDateTime関数を呼び出す行です。

この関数を使用して、ファイルが保存された日時を判別できます。 ActiveWorkbookオブジェクトのFullNameプロパティによって提供されるファイルのフルパス名が必要です。この日付と時刻は、ワークブック内のすべてのワークシートの右側のフッターに配置されます。

また、ヘッダーまたはフッターの各セクションに配置できる文字数の制限は約250文字であることを忘れないでください。したがって、マクロを調整してフッターの右側の部分に情報を追加する場合は、合計がそれほど多くの文字にならないようにしてください。そうしないと、マクロに問題が発生する可能性があります。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11099)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、 linkLast Saved Date in aFooterにあります。