Создание пустой таблицы при проверке формы в Word 2003

В Word 2003 я пытаюсь создать форму, которая может генерировать дополнительные записи, если человек, заполняющий формы, требует их и устанавливает флажок (для дополнительных таблиц нажмите здесь). Я попробовал поле формы, которое запускает макрос при входе, но, похоже, это не работает. Есть ли более элегантный способ сделать форму, которая может добавить таблицу в Word по требованию пользователя?

По сути, что-то вроде этого (как несвязанный, но функционально точный пример):

http://pixiurl.com//image/5o2r751t%5FExample.png ( К сожалению, я не могу вставлять изображения)

Когда нажимается «Нажмите здесь», генерируется точно такой же.

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

Любая помощь будет принята с благодарностью.


person Liam Shaw    schedule 15.12.2009    source источник


Ответы (1)


создать документ, содержащий некоторый текст и флажок из «Панель инструментов управления»; добавьте закладку «Здесь» в том месте, куда вы хотите вставить таблицу; добавьте еще немного текста.

Введите следующий код для панели инструментов управления:

Private Sub CheckBox1_Click()
    If Me.CheckBox1 Then
        Selection.GoTo What:=wdGoToBookmark, Name:="Here"
        ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
        3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
        With Selection.Tables(1)
            If .Style <> "Table Grid" Then
                .Style = "Table Grid"
            End If
            .ApplyStyleHeadingRows = True
            .ApplyStyleLastRow = True
            .ApplyStyleFirstColumn = True
            .ApplyStyleLastColumn = True
        End With
    Else
        Selection.GoTo What:=wdGoToBookmark, Name:="Here"
        With Selection.Tables(1)
            .Delete
        End With
    End If
End Sub

Если форма заблокирована, вам может потребоваться окружить IF-ELSE-ENDIF операторами Unprotect/Protect.

person MikeD    schedule 13.01.2010