2009-12-15 15 views
0

Dans Word 2003, j'essaie de créer un formulaire qui peut générer des entrées supplémentaires si la personne qui remplit les formulaires en a besoin et clique sur une case à cocher (pour les tableaux supplémentaires, cliquez ici) . J'ai essayé un champ de formulaire qui exécute une macro à l'entrée, mais cela ne semble pas fonctionner. Existe-t-il un moyen plus élégant de créer un formulaire qui peut ajouter une table dans Word comme l'utilisateur l'exige?Générer un tableau vide lors de la vérification de formulaire dans Word 2003

Essentiellement quelque chose comme ça (comme un exemple sans rapport si fonctionnellement précis):

http://pixiurl.com//image/5o2r751t%5FExample.png (Désolé, je ne peux pas poster des images)

Lorsque le « Cliquez ici » est cliqué est une autre génère exactement le même .

Je dois également m'assurer que les champs de la nouvelle table restent vides même s'ils ont été remplis sur l'original, donc je ne peux pas utiliser une méthode copier-coller.

Toute aide serait grandement appréciée.

Répondre

0

créer un document contenant du texte et une case à cocher dans la "Boîte à outils de contrôle"; ajouter un signet appelé "Here" à l'endroit où vous voulez insérer la table; ajouter un peu plus de texte.

Entrez le code suivant pour la boîte à outils de contrôle:

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 

Si le formulaire est verrouillé, vous devrez peut-être entourer l'IF-ELSE-ENDIF par Déprotéger/Protéger les déclarations