Поделиться через


Практическое руководство. Установка или удаление пароля книги

Обновлен: Июль 2008

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

  • Проекты уровня приложения

Версия Microsoft Office

  • Excel 2003

  • Excel 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Для ограничения доступа к книге следует создать пароль. В следующих примерах устанавливается пароль книги. Чтобы удалить пароль, можно задать в качестве пароля пустую строку.

Установка пароля в настройке уровня документа

Установка пароля

  • Установите введенную пользователем строку в качестве значения свойства Password объекта ThisWorkbook.

    Private Sub SetPassword()
        Dim password As String
        Dim confirmPassword As String
    
        password = Me.Application.InputBox("Enter the new password:").ToString()
        confirmPassword = Me.Application.InputBox("Confirm the password:").ToString()
    
        If password <> confirmPassword Then
            MessageBox.Show("The passwords you typed do not match.")
            Globals.ThisWorkbook.Password = ""
        Else
            Globals.ThisWorkbook.Password = password
        End If
    End Sub
    
    private void SetPassword() 
    {
        string password = this.Application.InputBox("Enter the new password:",
            missing, missing, missing, missing, missing, missing, missing).ToString();
    
        string confirmPassword = this.Application.InputBox("Confirm the password:", 
            missing, missing, missing, missing, missing, missing, missing).ToString(); 
    
        if (password != confirmPassword)
        {
            MessageBox.Show("The passwords you typed do not match.");
            Globals.ThisWorkbook.Password = "";
        }
        else
        {
            Globals.ThisWorkbook.Password = password;
        } 
    }
    

Установка пароля в надстройке уровня приложения

Установка пароля для активной книги

  • Установите в качестве значения свойства Password класса Microsoft.Office.Interop.Excel._Workbook строку, предоставленную пользователем. Чтобы воспользоваться этим примером, запустите код из класса ThisAddIn проекта.

    Private Sub SetPassword()
        Dim password As String
        Dim confirmPassword As String
    
        password = Me.Application.InputBox("Enter the new password:").ToString()
        confirmPassword = Me.Application.InputBox("Confirm the password:").ToString()
    
        If password <> confirmPassword Then
            System.Windows.Forms.MessageBox.Show("The passwords you typed do not match.")
            Me.Application.ActiveWorkbook.Password = ""
        Else
            Me.Application.ActiveWorkbook.Password = password
        End If
    End Sub
    
    private void SetPassword()
    {
        string password = this.Application.InputBox("Enter the new password:",
            missing, missing, missing, missing, missing, missing, missing).ToString();
    
        string confirmPassword = this.Application.InputBox("Confirm the password:",
            missing, missing, missing, missing, missing, missing, missing).ToString();
    
        if (password != confirmPassword)
        {
            System.Windows.Forms.MessageBox.Show
                ("The passwords you typed do not match.");
            this.Application.ActiveWorkbook.Password = "";
        }
        else
        {
            this.Application.ActiveWorkbook.Password = password;
        }
    }
    

См. также

Задачи

Практическое руководство. Защита рабочих книг

Практическое руководство. Защита рабочих листов

Основные понятия

Работа с книгами

Защита паролей в документах Office

Глобальный доступ к объектам в Visual Studio Tools for Office

Общие сведения о необязательных параметрах в решениях Office

Журнал изменений

Дата

Журнал изменений

Причина

Июль 2008

Добавлен пример кода, который можно использовать в надстройке уровня приложения.

Обратная связь от клиента.