Contar caracteres "reales"

08/05/2008 - 11:41 por Rio | Informe spam
Hola amig@s:

¿Alguien me podría dar una "pista" para diseñar un procedimiento que cuente
las pulsaciones existentes en un documento o en parte de él?

No me sirve la opción "Contar palabras", ya que no extrae las pulsaciones
reales. Para Word, la palabra "Camión" son 6 caracteres. Yo necesito contar
8 (2 para la "C" mayúscula, y otros 2 para la "o" con tilde.

A través de un módulo, en Visual Basic, sería posible analizar y comparar
cada uno de los caracteres existentes en el documento.

Mi principal problema es como creo el bucle que me va a permitir analizar
carácter a carácter


¿Me podéis ayudar?


Muchas gracias por todo :-)

pd: Utilizo Word XP

Preguntas similare

Leer las respuestas

#6 Monica May
09/05/2008 - 11:51 | Informe spam
hola chicos :-)

Gracias Rio por la aportacion:

Pero ten cuidado en la seleccion de caráteres o frases o parrafos, puesto
que Word las marcas de parrafo que tengas en el documento las cuenta como
caracteres :( por ejemplo en en la frase siguiente >>

Hace un dia maravilloso.

son 23 pulsaciones [ si seleccionas sin tener cuidado de no seleccionar la
marca de parrafo ultima de la frase... la macro te lo contabilizara bien
pero si no se tiene cuidado te lo contabilizara mal te contabilizara lo
siguente >>

pulsaciones basicas >> 24

pulsaciones dobles >> 2

caracteres totales >> 26

lo mismo sucederia cuando le das a la tecla [enter] por si quieres
contabilizar una pagina completa :-)


y muchas Gracias Pedro ;-) !

Saludos
Monica



Public Sub Contar()
Dim caracteres_seleccionados As Integer
Dim caracteres_finales As Integer
Dim doble_pulsacion As Integer
Dim cont As Integer
Dim total As Integer
Dim encontrada As Byte
Dim Dobles As String
Dim mensaje As String
Dim opc As Byte

Dobles = "áéíóúüABCDEFGHIJKLMNÑOPQRSTUVWXYZ!" &
"·$%&/()=?¿*^çš_:;>}{][#@|\ª"
doble_pulsacion = 0
caracteres_seleccionados = Selection.Characters.Count - 1

For cont = 1 To caracteres_seleccionados
Set letra = Selection.Characters.Item(cont)
encontrada = InStr(1, Dobles, letra)
If encontrada <> 0 Then
doble_pulsacion = doble_pulsacion + 1
encontrada = 0
End If
Next
total = caracteres_seleccionados + doble_pulsacion

mensaje = "Pulsaciones básicas... " & caracteres_seleccionados & Chr(10) &
Chr(10) & _
"Pulsaciones dobles. " & doble_pulsacion & Chr(10) & Chr(10)
& _
"Caracteres totales " & total

opc = MsgBox(mensaje, vbOKOnly, "Mecanografía. Caracteres reales")
End Sub

Gracias, Mónica. Gracias Pedro J.

Seguiré por aquí por si puedo resultaros útil para alguna cosilla.

Un abrazo








"Rio" escribió en el mensaje
news:u8Ps1%
Hola :

¿Alguien me podría dar una "pista" para diseñar un procedimiento que
cuente las pulsaciones existentes en un documento o en parte de él?

No me sirve la opción "Contar palabras", ya que no extrae las pulsaciones
reales. Para Word, la palabra "Camión" son 6 caracteres. Yo necesito
contar 8 (2 para la "C" mayúscula, y otros 2 para la "o" con tilde.

A través de un módulo, en Visual Basic, sería posible analizar y comparar
cada uno de los caracteres existentes en el documento.

Mi principal problema es como creo el bucle que me va a permitir analizar
carácter a carácter


¿Me podéis ayudar?


Muchas gracias por todo :-)

pd: Utilizo Word XP






Respuesta Responder a este mensaje
#7 Rio
09/05/2008 - 12:03 | Informe spam
Gracias Mónica.

Totalmente de acuerdo contigo.


Un abrazo...


"Monica May" escribió en el mensaje
news:%

hola chicos :-)

Gracias Rio por la aportacion:

Pero ten cuidado en la seleccion de caráteres o frases o parrafos, puesto
que Word las marcas de parrafo que tengas en el documento las cuenta como
caracteres :( por ejemplo en en la frase siguiente >>

Hace un dia maravilloso.

son 23 pulsaciones [ si seleccionas sin tener cuidado de no seleccionar la
marca de parrafo ultima de la frase... la macro te lo contabilizara bien
pero si no se tiene cuidado te lo contabilizara mal te contabilizara lo
siguente >>

pulsaciones basicas >> 24

pulsaciones dobles >> 2

caracteres totales >> 26

lo mismo sucederia cuando le das a la tecla [enter] por si quieres
contabilizar una pagina completa :-)


y muchas Gracias Pedro ;-) !

Saludos
Monica



Public Sub Contar()
Dim caracteres_seleccionados As Integer
Dim caracteres_finales As Integer
Dim doble_pulsacion As Integer
Dim cont As Integer
Dim total As Integer
Dim encontrada As Byte
Dim Dobles As String
Dim mensaje As String
Dim opc As Byte

Dobles = "áéíóúüABCDEFGHIJKLMNÑOPQRSTUVWXYZ!" &
"·$%&/()=?¿*^ç¨_:;>}{][#@|\ª"
doble_pulsacion = 0
caracteres_seleccionados = Selection.Characters.Count - 1

For cont = 1 To caracteres_seleccionados
Set letra = Selection.Characters.Item(cont)
encontrada = InStr(1, Dobles, letra)
If encontrada <> 0 Then
doble_pulsacion = doble_pulsacion + 1
encontrada = 0
End If
Next
total = caracteres_seleccionados + doble_pulsacion

mensaje = "Pulsaciones básicas... " & caracteres_seleccionados & Chr(10)
& Chr(10) & _
"Pulsaciones dobles. " & doble_pulsacion & Chr(10) & Chr(10)
& _
"Caracteres totales " & total

opc = MsgBox(mensaje, vbOKOnly, "Mecanografía. Caracteres reales")
End Sub

Gracias, Mónica. Gracias Pedro J.

Seguiré por aquí por si puedo resultaros útil para alguna cosilla.

Un abrazo








"Rio" escribió en el mensaje
news:u8Ps1%
Hola :

¿Alguien me podría dar una "pista" para diseñar un procedimiento que
cuente las pulsaciones existentes en un documento o en parte de él?

No me sirve la opción "Contar palabras", ya que no extrae las
pulsaciones reales. Para Word, la palabra "Camión" son 6 caracteres. Yo
necesito contar 8 (2 para la "C" mayúscula, y otros 2 para la "o" con
tilde.

A través de un módulo, en Visual Basic, sería posible analizar y
comparar cada uno de los caracteres existentes en el documento.

Mi principal problema es como creo el bucle que me va a permitir
analizar carácter a carácter


¿Me podéis ayudar?


Muchas gracias por todo :-)

pd: Utilizo Word XP









Respuesta Responder a este mensaje
#8 Monica May
09/05/2008 - 13:27 | Informe spam
hola Rio !!


gracias de nuevo rio :-)

otra cosa >>

para la correccion ortografica de documentos >>

Cuidado con los temas de auto -corrección [ por el tema de las mayusculas al
iniciar parrafos, acentos, palabras invertidas, etc]

Luego tambien habria que considerar todo el tema de las tabulaciones,
retrocesos, bloqueo mayusculas [ por el tema de los titulos >> CAPITULO UNO
o simplemente el escribir una palabra en mayuscula [ Una pulsacion +
caracteres escritos ] etc]

Tambien habria que tener cuidado si los documentos contienen tablas :)
porque si se inserta una tabla como lo contabilizarias ? [ maneras de
insertar tablas en documentos hay muchas :D ...]

luego los caracteres que nos da el codigo que nos has ofrecido no es del
todo correcto ya que caracteres reales [no son el total] y da fallos a la
hora de borrado de frases en documento [ cuidado que word graba muchos
caracteres del estilo marcas de parrafo contabilizandolos asi como
caracteres]

si quieres contabilizar pulsaciones se tienen que tener en cuenta muchos
factores ;-) !!

Saludos
Monica
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida