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


Пошаговое руководство. Сбор данных с помощью Формы Windows

В этом пошаговом руководстве показано, как открывается форма Windows Forms из настройки уровня документа для Microsoft Office Excel, выполняется сбор сведений от пользователя и запись этих сведений в ячейку листа.

Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO. См. сведения о функциях, доступных по Приложение Office и типу проекта.

Хотя в этом пошаговом руководстве используется проект уровня документа для Excel, рассмотренная процедура также применима и к другим проектам Office.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

Примечание.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.

Создание нового проекта

Первым шагом является создание проекта книги Excel.

Создание проекта

  1. Создайте проект книги Excel с именем WinFormInputи выберите в мастере Создать новый документ . Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

    Visual Studio открывает новую книгу Excel в конструкторе и добавляет проект WinFormInput в обозреватель решений.

Добавление элемента управления NamedRange на лист

Добавление именованного диапазона в Sheet1

  1. Выберите ячейку A1 в Sheet1.

  2. В поле Имя введите formInput.

    Поле Имя находится слева от строки формул над столбцом A листа.

  3. Нажмите ВВОД.

    Элемент управления NamedRange добавляется в ячейку A1. Видимые изменения на листе отсутствуют, но значение formInput появляется в поле Имя (над листом слева) и в окне Свойства при выборе ячейки A1 .

Добавление формы Windows Form в проект

Создайте форму Windows Form, чтобы запрашивать сведения у пользователя.

Добавление формы Windows Forms

  1. Выберите проект WinFormInput в обозревателе решений.

  2. В меню Проект выберите пункт Добавить форму Windows.

  3. Дайте этой форме имя GetInputString.vb или GetInputString.cs, а затем нажмите кнопку Добавить.

    Новая форма откроется в конструкторе.

  4. Добавьте в форму TextBox и Button .

  5. Выберите кнопку, найдите свойство Текст в окне Свойства и измените текст на ОК.

    Затем добавьте в ThisWorkbook.vb или ThisWorkbook.cs код для сбора информации от пользователя.

Отображение формы Windows Form и сбор сведений

Создайте экземпляр формы Windows GetInputString и отобразите его, а затем запишите информацию от пользователя в ячейку листа.

Отображение формы и сбор информации

  1. Щелкните правой кнопкой мыши файл ThisWorkbook.vb или ThisWorkbook.cs в обозревателе решений, а затем нажмите кнопку Просмотр кода.

  2. В обработчике событий OpenThisWorkbookдобавьте следующий код для объявления переменной формы GetInputString , а затем отобразите эту форму.

    Примечание.

    В C# необходимо добавить обработчик событий, как показано в событии Startup ниже. Сведения о создании обработчиков событий см. в статье "Практическое руководство. Создание обработчиков событий в проектах Office".

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.Open += new 
            Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(ThisWorkbook_Open);
    }
    
    private void ThisWorkbook_Open()
    {
        GetInputString inputForm = new GetInputString();
        inputForm.ShowDialog();
    }
    
  3. Создайте метод с именем WriteStringToCell , который записывает текст в именованный диапазон. Этот метод вызывается из формы, и ввод пользователя передается в элемент управления NamedRange , formInput, в ячейку A1.

    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

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

Отправка сведений на лист

Отправка информации в лист

  1. Щелкните правой кнопкой мыши В GetInputString в обозревателе решенийи выберите Конструктор представлений.

  2. Дважды щелкните кнопку, чтобы открыть файл кода с добавленным обработчиком событий Click кнопки.

  3. Добавьте код в обработчик событий для приема входных данных из текстового поля, передачи их в функцию WriteStringToCell, а затем закрытия формы.

    Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text);
    this.Dispose();
    

Тест

Теперь вы можете запустить проект. Появляется форма Windows Forms, и введенные данные отображаются в листе.

Проверка книги

  1. Нажмите клавишу F5 для запуска проекта.

  2. Убедитесь, что форма Windows Forms появилась.

  3. Введите Hello World в текстовом поле и нажмите кнопку ОК.

  4. Убедитесь, что сообщение Hello World появилось в ячейке A1 листа.

Следующие шаги

В этом пошаговом руководстве описываются основные принципы отображения формы Windows Forms и передачи данных в лист. Вам может потребоваться выполнить другие задачи, приведенные ниже.

  • Использование элементов управления Windows Forms в книге Excel или документе Word. Дополнительные сведения см. в разделе "Элементы управления Windows Forms" в документах Office.

  • Измените пользовательский интерфейс microsoft Приложение Office lication из настройки на уровне документа или надстройки VSTO. Дополнительные сведения см. в разделе "Настройка пользовательского интерфейса Office".