Comment pouvez-vous obtenir de la table en cours dans MS Word VBA?
Je veux être en mesure d'exécuter un module VBA qui manipule le tableau que je suis en train de faire (par exemple, le curseur est quelque part à l'intérieur de la table). Le code VBA à exécuter une opération identique sur chaque table que vous êtes lorsque vous l'exécutez.
Ainsi, par exemple, disons que j'ai un module qui nécessaire pour mettre en gras la ligne supérieure de chaque table (les en-têtes). Il aurait besoin pour localiser l'objet de la table (appelée whatever
) que vous êtes actuellement dans de sorte qu'il pourrait manipuler whatever.rows(0)
.
Comment puis-je obtenir l'objet de la table à partir de la position du curseur? J'ai aussi besoin de détecter si je suis pas dans une table et de ne rien faire (ou de soulever une boîte de dialogue d'erreur).
OriginalL'auteur paxdiablo | 2011-08-29
Vous devez vous connecter pour publier un commentaire.
Le VBA sous-routine au bas de cette réponse montre comment faire.
Il utilise la sélection en cours s'effondrer vers le point de départ de la première afin de ne pas avoir à vous soucier de multi-segment de sélections:
Il vérifie ensuite que la sélection pour s'assurer qu'il est à l'intérieur d'un tableau
La table est alors accessible en se référant à
Selection.Tables(1)
.Le code ci-dessous est une simple preuve de concept qui simplement basculé chacune des cellules de départ dans chaque ligne de la table pour insérer ou supprimer une barre verticale marqueur.
OriginalL'auteur paxdiablo
Je sais que c'est plutôt une vieille question, mais je suis tombé sur un code qui peut aider la personne à côté de qui est confronté à un problème similaire.
Pour revenir à l'index de la table se trouve le curseur. Qui peut ensuite être utilisé pour effectuer des modifications ou de récupérer de l'information:
Évidemment vérifications doivent être ajoutés pour assurer le curseur est à l'intérieur d'un tableau.
OriginalL'auteur enifeder