次の方法で共有


WorkbookBase.Saved プロパティ

ブックが最後に保存されてから、変更が加えられていないかどうかを示す値を取得または設定します。

名前空間:  Microsoft.Office.Tools.Excel
アセンブリ:  Microsoft.Office.Tools.Excel.v4.0.Utilities (Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 内)

構文

'宣言
Public Property Saved As Boolean
public bool Saved { get; set; }

プロパティ値

型 : System.Boolean
ブックが最後に保存されてから変更されていなければ true、それ以外の場合は false です。

解説

ブックが一度も保存されていない場合、そのブックの Path プロパティは空白の文字列 ("") を返します。

変更したブックを保存せず、保存を求めるプロンプトも表示せずに閉じるには、このプロパティを true に設定します。

次のコード例では、BeforeClose イベントのハンドラーを示します。このハンドラーは、ブックが最後に保存されてから変更されている場合に、変更を保存して閉じる、変更を保存せずに閉じる、または閉じる操作をキャンセルする、のいずれかを選択するプロンプトを表示します。ユーザーが変更を保存しなかった場合、閉じる操作を継続するときに Microsoft Office Excel がブックを保存するプロンプトを表示しないよう、ブックの Saved プロパティは true に設定されます。ユーザーが閉じる操作をキャンセルした場合、Microsoft Office Excel がブックを閉じないよう、WorkbookEvents_BeforeCloseEventHandler イベント ハンドラーの Cancel パラメーターが true に設定されます。

この例は、ドキュメント レベルのカスタマイズ用に作成されています。

Sub ThisWorkbook_BeforeClose(ByRef Cancel As Boolean) _
    Handles Me.BeforeClose

    If Not Me.Saved Then
        Dim result As DialogResult = _
            MessageBox.Show("Do you want to save the " & _
            "changes you made to " & Me.Name & "?", _
            "Example", MessageBoxButtons.YesNoCancel)

        Select Case result
            Case DialogResult.Yes
                Me.Save()
            Case DialogResult.Cancel
                Cancel = True
                ' The following code ensures that the default Save File 
                ' dialog is not displayed.
            Case DialogResult.No
                Me.Saved = True
        End Select
    End If
End Sub
private void WorkbookBeforeClose()
{
    this.BeforeClose +=
        new Excel.WorkbookEvents_BeforeCloseEventHandler(
        ThisWorkbook_BeforeClose);
}

void ThisWorkbook_BeforeClose(ref bool Cancel)
{
    if (!this.Saved)
    {
        DialogResult result = MessageBox.Show("Do you want to save the " +
            "changes you made to " + this.Name + "?", "Example",
            MessageBoxButtons.YesNoCancel);

        switch (result)
        {
            case DialogResult.Yes:
                this.Save();
                break;

            case DialogResult.Cancel:
                Cancel = true;
                break;

            // The following code ensures that the default Save File 
            // dialog is not displayed.
            case DialogResult.No:
                this.Saved = true;
                break;
        }
    }
}

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

WorkbookBase クラス

Microsoft.Office.Tools.Excel 名前空間