2009-10-05 7 views
1

Mon programme lit le texte d'un certain nombre d'applications afin que les enfants handicapés puissent l'entendre. Pour ce faire, il a un tampon interne où le texte est, et une représentation interne de l'endroit où se trouve le curseur.Obtenir par programme le nombre de caractères visibles sur une ligne avant le curseur dans Microsoft Word, en utilisant C++

Donc, si le curseur est | le résultat pour cette ligne serait 21 (ou environ) :)

Maintenant, pour obtenir la position du curseur sur une ligne, je ferais Selection.Range.Start puis soustraire un décalage de l'endroit où la ligne commence. Cependant, Selection.Range.Start renvoie la position du curseur avec des caractères cachés. Donc, si dans l'exemple cursor était un lien vers quelque part, alors Word ajoutera environ 45-70 à la position du curseur au moment où le curseur est entré dans le lien cursor. Cela ne fonctionne pas très bien pour mon application car il pense maintenant que le curseur est à la fin de la ligne.

Donc, y a-t-il un moyen d'obtenir la position du curseur dans le mot sans que les caractères cachés ne soient aussi bien comptés?

+0

Avez-vous besoin du code COM C++ ou simplement de l'algorithme pour détecter si les caractères sont visibles ou non? –

Répondre

0

Etes-vous sûr de choisir la bonne étiquette? Vous parlez d'un script Visual Basic ici, non?

Peut être certaines des macros sur this page pourrait aider? Ce que vous devez savoir, c'est comment choisir une plage visible, je suppose.

Questions connexes