Discussion:
1º crear texto con formato triangular
(demasiado antiguo para responder)
chiri
2008-05-12 20:01:27 UTC
Permalink
1º Explico lo que necesito y luego os doy la explicación

Necesito colocar el cursor en el nº de carácter que yo le diga en un
inputbox

gracias.

AHORA LA EXPLICACIÓN:


Vamos a ver cómo se podría hacer esto, no sé ni si hay que hacerlo en word,
aunque yo creo que sí:

Estoy trabajando la mejora de la velocidad lectora, y preparar textos para
ello se me hace bastante farragoso así que pretendo crear un pequeño
programita que me convierta un texto cualquiera en el formato que necesito:

hay varias opciones de formato y por ello he puesto 1º, aunque seguramente
luego os preguntaré alguna más.

Necesitaría que me convirtiera el texto en un triángulo para mejorar la
amplitud lectora en un golpe de vista, para ello, necesito que cada línea
empiece permitiendo poner palabras en por ejemplo 1 cm, la siguiente 1,5 cm
la siguiente 2 cm y así hasta el tamaño que yo quisiera. Repitiéndose la
sucesión de tamaño. y creando algo así como un triángulo con las palabras.

Solución que he pensado (necesitaría ayuda):

He pensado preguntar la amplitud máxima y la mínima, una vez que la sabemos,
y teniendo el texto que es,
haría algo así, contar las letras (con una fuente que tenga todas las letras
del mismo tamaño) sabiendo esto cojo todas
las letras que ocupen los centímetros cuando los supere, iríamos al primer
espacio y haríamos un "intro" a la siguiente línea
y así de nuevo.

Para poder hacer esto, necesito sé contar el número de carácteres, pero no
sé cómo coloco el cursor en el carácter que yo quiero
Monica May
2008-05-12 23:14:03 UTC
Permalink
hola :-) !!

a ver si te he entendio bien :-? me explico >>

tu quieres convertir un texto de word mas o menos asi >>

hola
como estas
como llevas el dia

Comentanos esto ...!!!


Saludos
Monica



---Consulta ---
Post by chiri
1º Explico lo que necesito y luego os doy la explicación
Necesito colocar el cursor en el nº de carácter que yo le diga en un
inputbox
gracias.
Vamos a ver cómo se podría hacer esto, no sé ni si hay que hacerlo en
Estoy trabajando la mejora de la velocidad lectora, y preparar textos para
ello se me hace bastante farragoso así que pretendo crear un pequeño
hay varias opciones de formato y por ello he puesto 1º, aunque seguramente
luego os preguntaré alguna más.
Necesitaría que me convirtiera el texto en un triángulo para mejorar la
amplitud lectora en un golpe de vista, para ello, necesito que cada línea
empiece permitiendo poner palabras en por ejemplo 1 cm, la siguiente 1,5 cm
la siguiente 2 cm y así hasta el tamaño que yo quisiera. Repitiéndose la
sucesión de tamaño. y creando algo así como un triángulo con las palabras.
He pensado preguntar la amplitud máxima y la mínima, una vez que la
sabemos, y teniendo el texto que es,
haría algo así, contar las letras (con una fuente que tenga todas las
letras del mismo tamaño) sabiendo esto cojo todas
las letras que ocupen los centímetros cuando los supere, iríamos al primer
espacio y haríamos un "intro" a la siguiente línea
y así de nuevo.
Para poder hacer esto, necesito sé contar el número de carácteres, pero no
sé cómo coloco el cursor en el carácter que yo quiero
chiri
2008-05-13 05:42:57 UTC
Permalink
Me has entendido perfectamente, por eso he puesto las explicaciones seguro
que se te ocurre alguna forma mejor a que a mi.
Post by Monica May
hola :-) !!
a ver si te he entendio bien :-? me explico >>
tu quieres convertir un texto de word mas o menos asi >>
hola
como estas
como llevas el dia
Comentanos esto ...!!!
Saludos
Monica
---Consulta ---
Post by chiri
1º Explico lo que necesito y luego os doy la explicación
Necesito colocar el cursor en el nº de carácter que yo le diga en un
inputbox
gracias.
Vamos a ver cómo se podría hacer esto, no sé ni si hay que hacerlo en
Estoy trabajando la mejora de la velocidad lectora, y preparar textos para
ello se me hace bastante farragoso así que pretendo crear un pequeño
hay varias opciones de formato y por ello he puesto 1º, aunque seguramente
luego os preguntaré alguna más.
Necesitaría que me convirtiera el texto en un triángulo para mejorar la
amplitud lectora en un golpe de vista, para ello, necesito que cada línea
empiece permitiendo poner palabras en por ejemplo 1 cm, la siguiente 1,5 cm
la siguiente 2 cm y así hasta el tamaño que yo quisiera. Repitiéndose la
sucesión de tamaño. y creando algo así como un triángulo con las palabras.
He pensado preguntar la amplitud máxima y la mínima, una vez que la
sabemos, y teniendo el texto que es,
haría algo así, contar las letras (con una fuente que tenga todas las
letras del mismo tamaño) sabiendo esto cojo todas
las letras que ocupen los centímetros cuando los supere, iríamos al
primer espacio y haríamos un "intro" a la siguiente línea
y así de nuevo.
Para poder hacer esto, necesito sé contar el número de carácteres, pero
no sé cómo coloco el cursor en el carácter que yo quiero
Monica May
2008-05-13 21:30:08 UTC
Permalink
hola chiri !!
Post by chiri
Me has entendido perfectamente, por eso he puesto las explicaciones
seguro que se te ocurre alguna forma mejor a que a mi.
Pues si quieres que te diga la verdad le he estado dando vueltas y si
utilizas tablas y creas una plantilla donde hayas preparado una tabla [
Piramide] ? no sep digo :-?

el siguiente codigo >>

'[]

Sub demo()

Dim x As String

x = InputBox("Pon número para ir a un caracter de tu documento")

Selection.Move Unit:=wdCharacter, Count:=x


End Sub
'[]

te llevara a un numero de caracter que necesites siempre desde donde esta
posicionado el cursor y contando tambien espacios entre palabras y marcas
de parrafo o cualquier otra marca del tipo retorno de caracter, etc...

el codigo no esta preparado para solventar el error que te puede dar al
cancelar el inputbox perooo te lo pongo para que veas los problemas que te
van a surgir :-( !!


No sep comentanos...!!

Saludos
Monica
--
www.fermu.com
www.teladearana.es
chiri
2008-05-14 11:36:06 UTC
Permalink
ya estoy pensando otra forma, si me sale te lo mando y si no te pregunto
cómo dame un poquillo de tiempo

gracias por preocuparte
Post by Monica May
hola chiri !!
Post by chiri
Me has entendido perfectamente, por eso he puesto las explicaciones
seguro que se te ocurre alguna forma mejor a que a mi.
Pues si quieres que te diga la verdad le he estado dando vueltas y si
utilizas tablas y creas una plantilla donde hayas preparado una tabla [
Piramide] ? no sep digo :-?
el siguiente codigo >>
'[]
Sub demo()
Dim x As String
x = InputBox("Pon número para ir a un caracter de tu documento")
Selection.Move Unit:=wdCharacter, Count:=x
End Sub
'[]
te llevara a un numero de caracter que necesites siempre desde donde esta
posicionado el cursor y contando tambien espacios entre palabras y marcas
de parrafo o cualquier otra marca del tipo retorno de caracter, etc...
el codigo no esta preparado para solventar el error que te puede dar al
cancelar el inputbox perooo te lo pongo para que veas los problemas que te
van a surgir :-( !!
No sep comentanos...!!
Saludos
Monica
--
www.fermu.com
www.teladearana.es
Monica May
2008-05-14 16:20:57 UTC
Permalink
Post by chiri
ya estoy pensando otra forma, si me sale te lo mando y si no te pregunto
cómo dame un poquillo de tiempo
gracias por preocuparte
:-P okeis chiri ya nos comentaras es que no se como podrias enfocarlo a ver
como te sale a ti y si cualquier cosa ya sabes nos comentas ;-) !!

Saludos
Monica
chiri
2008-05-15 10:38:48 UTC
Permalink
bueno por fin, hay quizá algún desajuste que si quieres corregirlo perfecto,
pero me sirve aquí te lo dejo

Sub CrearTextoEnTriangulos()
Dim Ndocumento As String
Dim texto As String
Dim n As Long 'amplitud
Dim i As Long 'inicio
Dim f As Long 'numero caracteres que aumenta hasta los espacios


Ndocumento = ActiveDocument.Name

Documents.Add.SaveAs ("nuevo.doc")

'documento inicial
Documents(Ndocumento).Activate
i = 1
'n es cómo iniciamos de amplitud
n = 3

ActiveDocument.Select
texto = ""
Do


f = InStr(i + n, Selection.Text, " ", 1)
'Debug.Print f & " " & i & " " & n

If Len(texto) = 0 Then
texto = Mid(Selection.Text, i, f - i)
Else
If f = 0 Then
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i)
Else
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i, f -
i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i, f - i)
End If
End If
i = f + 1
'MsgBox texto
'20 es la longitud máxima de la amplitud
If n > 30 Then
n = 3
Else
n = n + 3
End If

Loop While f <> 0


Documents("nuevo.doc").Activate
ActiveDocument.Content.InsertAfter Text:=texto
ActiveDocument.Select
Selection.Paragraphs.Alignment = wdAlignParagraphCenter


End Sub

"chiri" <fernandoSUSTITUYEPORARROBAmollatSUSTITUYEPORPUNTOinfo> escribió en
Post by chiri
1º Explico lo que necesito y luego os doy la explicación
Necesito colocar el cursor en el nº de carácter que yo le diga en un
inputbox
gracias.
Vamos a ver cómo se podría hacer esto, no sé ni si hay que hacerlo en
Estoy trabajando la mejora de la velocidad lectora, y preparar textos para
ello se me hace bastante farragoso así que pretendo crear un pequeño
hay varias opciones de formato y por ello he puesto 1º, aunque seguramente
luego os preguntaré alguna más.
Necesitaría que me convirtiera el texto en un triángulo para mejorar la
amplitud lectora en un golpe de vista, para ello, necesito que cada línea
empiece permitiendo poner palabras en por ejemplo 1 cm, la siguiente 1,5 cm
la siguiente 2 cm y así hasta el tamaño que yo quisiera. Repitiéndose la
sucesión de tamaño. y creando algo así como un triángulo con las palabras.
He pensado preguntar la amplitud máxima y la mínima, una vez que la
sabemos, y teniendo el texto que es,
haría algo así, contar las letras (con una fuente que tenga todas las
letras del mismo tamaño) sabiendo esto cojo todas
las letras que ocupen los centímetros cuando los supere, iríamos al primer
espacio y haríamos un "intro" a la siguiente línea
y así de nuevo.
Para poder hacer esto, necesito sé contar el número de carácteres, pero no
sé cómo coloco el cursor en el carácter que yo quiero
Monica May
2008-05-15 16:18:38 UTC
Permalink
Muy buena eChiri :-) !! pues la he prodado y queda muy chuli me la voy a
guardar :-P te habra costado mucho trabajo tela marinera ;-) !!!

Muchisimas gracias por el aporte Chiri ;-) ;-) !!

Saludos
Monica




-- Codigo Texto_En_Triangulos---
Post by chiri
bueno por fin, hay quizá algún desajuste que si quieres corregirlo perfecto,
pero me sirve aquí te lo dejo
Sub CrearTextoEnTriangulos()
Dim Ndocumento As String
Dim texto As String
Dim n As Long 'amplitud
Dim i As Long 'inicio
Dim f As Long 'numero caracteres que aumenta hasta los espacios
Ndocumento = ActiveDocument.Name
Documents.Add.SaveAs ("nuevo.doc")
'documento inicial
Documents(Ndocumento).Activate
i = 1
'n es cómo iniciamos de amplitud
n = 3
ActiveDocument.Select
texto = ""
Do
f = InStr(i + n, Selection.Text, " ", 1)
'Debug.Print f & " " & i & " " & n
If Len(texto) = 0 Then
texto = Mid(Selection.Text, i, f - i)
Else
If f = 0 Then
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i)
Else
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i, f -
i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i, f - i)
End If
End If
i = f + 1
'MsgBox texto
'20 es la longitud máxima de la amplitud
If n > 30 Then
n = 3
Else
n = n + 3
End If
Loop While f <> 0
Documents("nuevo.doc").Activate
ActiveDocument.Content.InsertAfter Text:=texto
ActiveDocument.Select
Selection.Paragraphs.Alignment = wdAlignParagraphCenter
End Sub
chiri
2008-05-15 19:00:48 UTC
Permalink
Gracias.

Ahora voy a por otra un texto de varias líneas, entre línea y línea quiero
poner puntos, para que se pueda trabajar a golpes de vista la lectura

voy a intentarlo, te haré seguro preguntas si no me sale alguna cosilla.

un abrazo
Post by Monica May
Muy buena eChiri :-) !! pues la he prodado y queda muy chuli me la voy a
guardar :-P te habra costado mucho trabajo tela marinera ;-) !!!
Muchisimas gracias por el aporte Chiri ;-) ;-) !!
Saludos
Monica
-- Codigo Texto_En_Triangulos---
Post by chiri
bueno por fin, hay quizá algún desajuste que si quieres corregirlo
perfecto,
Post by chiri
pero me sirve aquí te lo dejo
Sub CrearTextoEnTriangulos()
Dim Ndocumento As String
Dim texto As String
Dim n As Long 'amplitud
Dim i As Long 'inicio
Dim f As Long 'numero caracteres que aumenta hasta los espacios
Ndocumento = ActiveDocument.Name
Documents.Add.SaveAs ("nuevo.doc")
'documento inicial
Documents(Ndocumento).Activate
i = 1
'n es cómo iniciamos de amplitud
n = 3
ActiveDocument.Select
texto = ""
Do
f = InStr(i + n, Selection.Text, " ", 1)
'Debug.Print f & " " & i & " " & n
If Len(texto) = 0 Then
texto = Mid(Selection.Text, i, f - i)
Else
If f = 0 Then
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i)
Else
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i,
f - i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i, f - i)
End If
End If
i = f + 1
'MsgBox texto
'20 es la longitud máxima de la amplitud
If n > 30 Then
n = 3
Else
n = n + 3
End If
Loop While f <> 0
Documents("nuevo.doc").Activate
ActiveDocument.Content.InsertAfter Text:=texto
ActiveDocument.Select
Selection.Paragraphs.Alignment = wdAlignParagraphCenter
End Sub
Monica May
2008-05-15 23:20:11 UTC
Permalink
Okeis Chiri por aqui andaremos :-P !!

Saludos
Monica

------
Post by chiri
Gracias.
Ahora voy a por otra un texto de varias líneas, entre línea y línea quiero
poner puntos, para que se pueda trabajar a golpes de vista la lectura
voy a intentarlo, te haré seguro preguntas si no me sale alguna cosilla.
un abrazo
Post by Monica May
Muy buena eChiri :-) !! pues la he prodado y queda muy chuli me la voy a
guardar :-P te habra costado mucho trabajo tela marinera ;-) !!!
Muchisimas gracias por el aporte Chiri ;-) ;-) !!
Saludos
Monica
-- Codigo Texto_En_Triangulos---
Post by chiri
bueno por fin, hay quizá algún desajuste que si quieres corregirlo
perfecto,
Post by chiri
pero me sirve aquí te lo dejo
Sub CrearTextoEnTriangulos()
Dim Ndocumento As String
Dim texto As String
Dim n As Long 'amplitud
Dim i As Long 'inicio
Dim f As Long 'numero caracteres que aumenta hasta los espacios
Ndocumento = ActiveDocument.Name
Documents.Add.SaveAs ("nuevo.doc")
'documento inicial
Documents(Ndocumento).Activate
i = 1
'n es cómo iniciamos de amplitud
n = 3
ActiveDocument.Select
texto = ""
Do
f = InStr(i + n, Selection.Text, " ", 1)
'Debug.Print f & " " & i & " " & n
If Len(texto) = 0 Then
texto = Mid(Selection.Text, i, f - i)
Else
If f = 0 Then
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i,
Len(Selection.Text) - i)
Else
'texto = texto & Chr(10) & Chr(13) & Mid(Selection.Text, i,
f - i) 'se me crean dos espacios
texto = texto & Chr(13) & Mid(Selection.Text, i, f - i)
End If
End If
i = f + 1
'MsgBox texto
'20 es la longitud máxima de la amplitud
If n > 30 Then
n = 3
Else
n = n + 3
End If
Loop While f <> 0
Documents("nuevo.doc").Activate
ActiveDocument.Content.InsertAfter Text:=texto
ActiveDocument.Select
Selection.Paragraphs.Alignment = wdAlignParagraphCenter
End Sub
Continúe leyendo en narkive:
Loading...