problemas con vba y word (Hector Miguel?)

22/11/2005 - 19:28 por Alejandro Garrammone | Informe spam

Hola! les cuento un poco mi problema. Debo ingresar un textbox o una
etiqueta con un valor del tipo '00000001' que se debe ir incrementando de
página en página pero como dicho valor debe estar dentro del documento
necesito hacerlo mediante una etiqueta o un cuadro de texto. El problema
que
tengo es que no encuentro la forma de poder agregarlo a otra hoja que no
sea
la primera, me pueden ayudar por favor? Les paso el código que he hecho
hasta ahora (que agrega el cuadro de texto en la primera página)
Gracias por todo,

Alejandro

Sub Macro1 ()

Dim docNew as document
Dim newtextbox as shape


set docNew = ThisDocument
set newtextbox > docNew.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal,
Left:@0, Top:P, Width:‰, Height:))
newtextbox.select
with selection.shaperange
.fill.visible = msofalse
.fill.solid
.fill.transparency = 0#
.line.weight = 0.75
.line.dashstyle = msoLineSingle
.line.transparency = 0#
.line.visible = msoFalse
end with
selection.typetext text:="000000001"

End Sub



Preguntas similare

Leer las respuestas

#1 Héctor Miguel
23/11/2005 - 00:47 | Informe spam
hola, Alejandro !

... ingresar un textbox o una etiqueta con un valor del tipo '00000001' que se debe ir incrementando de pagina en pagina
... no encuentro la forma de poder agregarlo a otra hoja que no sea la primera [...]



'hablando' de ms-word [y hasta donde se]...
los objetos incrustados 'guardan' una posicion que puede estar relacionada ya sea con un parrafo, una linea, un salto, etc.

'hablando' de vba [en ms-word], lo que yo 'haria' es...
grabar una macro incrustando 'el objeto', y revisar/modificar/adaptar/... las lineas de la grabadora...
buscando las propiedades [o 'anclas'] que sean aplicables a la posicion 'relativa a...' que necesitas para el objeto :)

algunas paginas con metodos y ejemlos de macros en word...
http://word.mvps.org/FAQs/DrwGrphcs/Anchors.htm
http://word.mvps.org/FAQs/MacrosVBA...herObjects

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Alejandro Garrammone
23/11/2005 - 03:32 | Informe spam
Hola Héctor! el tema es que cuando grabo algo con la grabadora el ícono del
mouse desaparece y aparece un "casette" y no me deja crear nada de textbox,
labels, etc.
Voy a ver los links a ver si encuentro algo.
Gracias,

Alex
PD:si se te ocurre algo, no dudes en decirmelo, porque la verdad ya no se me
ocurren mas ideas.

"Héctor Miguel" escribió en el mensaje
news:
hola, Alejandro !

... ingresar un textbox o una etiqueta con un valor del tipo '00000001'
que se debe ir incrementando de pagina en pagina
... no encuentro la forma de poder agregarlo a otra hoja que no sea la
primera [...]



'hablando' de ms-word [y hasta donde se]...
los objetos incrustados 'guardan' una posicion que puede estar relacionada
ya sea con un parrafo, una linea, un salto, etc.

'hablando' de vba [en ms-word], lo que yo 'haria' es...
grabar una macro incrustando 'el objeto', y revisar/modificar/adaptar/...
las lineas de la grabadora...
buscando las propiedades [o 'anclas'] que sean aplicables a la posicion
'relativa a...' que necesitas para el objeto :)

algunas paginas con metodos y ejemlos de macros en word...
http://word.mvps.org/FAQs/DrwGrphcs/Anchors.htm
http://word.mvps.org/FAQs/MacrosVBA...herObjects

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
23/11/2005 - 06:18 | Informe spam
hola, Alejandro !

... el tema es que cuando grabo algo con la grabadora el... mouse desaparece... y no me deja crear nada de textbox, labels, etc.
... si se te ocurre algo, no dudes en decirmelo, porque la verdad ya no se me ocurren mas ideas.



ooops !!! es cierto...
cuando usas la grabadora de macros en ms-word/vba, las acciones 'por mouse' [y algunas otras] pasan 'desapercibidas' :-((
[cada vez me gusta mas el excel] :DD

sin embargo... 'espulgando' un poco la ayuda en vba-word, dice que los objetos incrustados quedan 'anclados' a la posicion del cursor
si al incrustar [por macro] usas la propiedad 'Anchor'... quedan anclados al inicio del parrafo, si no... al inicio de la pagina ;)
por lo que [parece que] es necesario primero 'trasladarte a' [o seleccionar] la pagina que necesitas [p.e. la #2]

te paso al final un ejemplo, y las 'notas' al respecto [tomadas de la ayuda de vba en word] ;)
si cualquier duda... comentas ?
saludos,
hector.

en un modulo de codigo 'del documento activo' ==Sub Agregar_TextBox_en_Pagina_X()
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="2"
With ActiveDocument.Shapes.AddTextbox( _
Orientation:=msoTextOrientationHorizontal, _
Left:@0, Top:P, Width:‰, Height:)) ', _
Anchor:=Selection.Range)
.Fill.Visible = msoFalse
.Fill.Solid
.Fill.Transparency = 0#
.Line.Weight = 0.75
.Line.DashStyle = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoFalse
.TextFrame.TextRange.Text = "000000001"
End With
End Sub

las notas de vba, que 'dicen'...

Anchor Variant opcional.
Devuelve un objeto Range que representa el intervalo de marcadores de la forma o del intervalo de formas especificado.
Objeto Range que representa el texto al que esta unido el cuadro de texto.
Si se especifica Anchor, el punto de fijacion se coloca al principio del primer parrafo del intervalo de fijacion.
Si no se especifica este argumento, el intervalo de fijacion se selecciona automaticamente
y el cuadro de texto se situa en relacion con los bordes superior e izquierdo de la pagina.

Todos los objetos Shape estan fijados a un intervalo de texto, pero pueden situarse en cualquier parte de la pagina que contenga el marcador.
Si especifica el intervalo de fijacion al crear la forma, el marcador se situa al comienzo del primer parrafo que contenga el intervalo de fijacion.
Si no especifica el rango... se selecciona automaticamente y la forma se situa en relacion con los bordes superior e inferior de la pagina.

La forma siempre permanecera en la misma pagina que su marcador.
Si el valor de la propiedad LockAnchor es True, no podra arrastrar el marcador de su posicion en la pagina.
Respuesta Responder a este mensaje
#4 Alejandro Garrammone
23/11/2005 - 15:31 | Informe spam
Genio Héctor, Genio! Con el ejemplo que me has dado ahora puedo pasar de
hojas, no podía dar con la ayuda que me permitiera pasar de hojas y poner el
cursor en la misma. Hoy por la tarde rindo examen y esta noche me siento a
probar a ver si logro solucionar el problema. Cualquier cosa te aviso,

Mil Gracias!
Alejandro

"Héctor Miguel" escribió en el mensaje
news:eb$Po1%
hola, Alejandro !

... el tema es que cuando grabo algo con la grabadora el... mouse
desaparece... y no me deja crear nada de textbox, labels, etc.
... si se te ocurre algo, no dudes en decirmelo, porque la verdad ya no
se me ocurren mas ideas.



ooops !!! es cierto...
cuando usas la grabadora de macros en ms-word/vba, las acciones 'por
mouse' [y algunas otras] pasan 'desapercibidas' :-((
[cada vez me gusta mas el excel] :DD

sin embargo... 'espulgando' un poco la ayuda en vba-word, dice que los
objetos incrustados quedan 'anclados' a la posicion del cursor
si al incrustar [por macro] usas la propiedad 'Anchor'... quedan anclados
al inicio del parrafo, si no... al inicio de la pagina ;)
por lo que [parece que] es necesario primero 'trasladarte a' [o
seleccionar] la pagina que necesitas [p.e. la #2]

te paso al final un ejemplo, y las 'notas' al respecto [tomadas de la
ayuda de vba en word] ;)
si cualquier duda... comentas ?
saludos,
hector.

en un modulo de codigo 'del documento activo' ==> Sub Agregar_TextBox_en_Pagina_X()
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="2"
With ActiveDocument.Shapes.AddTextbox( _
Orientation:=msoTextOrientationHorizontal, _
Left:@0, Top:P, Width:‰, Height:)) ', _
Anchor:=Selection.Range)
.Fill.Visible = msoFalse
.Fill.Solid
.Fill.Transparency = 0#
.Line.Weight = 0.75
.Line.DashStyle = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoFalse
.TextFrame.TextRange.Text = "000000001"
End With
End Sub

las notas de vba, que 'dicen'...

Anchor Variant opcional.
Devuelve un objeto Range que representa el intervalo de marcadores de la
forma o del intervalo de formas especificado.
Objeto Range que representa el texto al que esta unido el cuadro de texto.
Si se especifica Anchor, el punto de fijacion se coloca al principio del
primer parrafo del intervalo de fijacion.
Si no se especifica este argumento, el intervalo de fijacion se selecciona
automaticamente
y el cuadro de texto se situa en relacion con los bordes superior e
izquierdo de la pagina.

Todos los objetos Shape estan fijados a un intervalo de texto, pero pueden
situarse en cualquier parte de la pagina que contenga el marcador.
Si especifica el intervalo de fijacion al crear la forma, el marcador se
situa al comienzo del primer parrafo que contenga el intervalo de
fijacion.
Si no especifica el rango... se selecciona automaticamente y la forma se
situa en relacion con los bordes superior e inferior de la pagina.

La forma siempre permanecera en la misma pagina que su marcador.
Si el valor de la propiedad LockAnchor es True, no podra arrastrar el
marcador de su posicion en la pagina.

Respuesta Responder a este mensaje
#5 Alejandro Garrammone
24/11/2005 - 04:50 | Informe spam
Buenísimo Héctor, funcionó estupendamente! voy aprendiendo de a poco. Te
puedo hacer una preguntita más? De qué manera podría tomar valores del
usuario para utilizarlos?. Mediante un form? Si es así tienes alguno de
ejemplo con código o sabes de donde puedo sacar uno? Solo necesito tres
campos que se puedan completar con texto y luego tomar dichos valores para
lo que hemos estado viendo hasta ahora.

Muchas gracias por todoy.me has ayudado tanto y yo no he tenido la
cortesía de preguntarte de dónde eres?
Yo vivo en Buenos Aires.

Saludos,

Alejandro.

"Héctor Miguel" escribió en el mensaje
news:eb$Po1%
hola, Alejandro !

... el tema es que cuando grabo algo con la grabadora el... mouse
desaparece... y no me deja crear nada de textbox, labels, etc.
... si se te ocurre algo, no dudes en decirmelo, porque la verdad ya no
se me ocurren mas ideas.



ooops !!! es cierto...
cuando usas la grabadora de macros en ms-word/vba, las acciones 'por
mouse' [y algunas otras] pasan 'desapercibidas' :-((
[cada vez me gusta mas el excel] :DD

sin embargo... 'espulgando' un poco la ayuda en vba-word, dice que los
objetos incrustados quedan 'anclados' a la posicion del cursor
si al incrustar [por macro] usas la propiedad 'Anchor'... quedan anclados
al inicio del parrafo, si no... al inicio de la pagina ;)
por lo que [parece que] es necesario primero 'trasladarte a' [o
seleccionar] la pagina que necesitas [p.e. la #2]

te paso al final un ejemplo, y las 'notas' al respecto [tomadas de la
ayuda de vba en word] ;)
si cualquier duda... comentas ?
saludos,
hector.

en un modulo de codigo 'del documento activo' ==> Sub Agregar_TextBox_en_Pagina_X()
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="2"
With ActiveDocument.Shapes.AddTextbox( _
Orientation:=msoTextOrientationHorizontal, _
Left:@0, Top:P, Width:‰, Height:)) ', _
Anchor:=Selection.Range)
.Fill.Visible = msoFalse
.Fill.Solid
.Fill.Transparency = 0#
.Line.Weight = 0.75
.Line.DashStyle = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoFalse
.TextFrame.TextRange.Text = "000000001"
End With
End Sub

las notas de vba, que 'dicen'...

Anchor Variant opcional.
Devuelve un objeto Range que representa el intervalo de marcadores de la
forma o del intervalo de formas especificado.
Objeto Range que representa el texto al que esta unido el cuadro de texto.
Si se especifica Anchor, el punto de fijacion se coloca al principio del
primer parrafo del intervalo de fijacion.
Si no se especifica este argumento, el intervalo de fijacion se selecciona
automaticamente
y el cuadro de texto se situa en relacion con los bordes superior e
izquierdo de la pagina.

Todos los objetos Shape estan fijados a un intervalo de texto, pero pueden
situarse en cualquier parte de la pagina que contenga el marcador.
Si especifica el intervalo de fijacion al crear la forma, el marcador se
situa al comienzo del primer parrafo que contenga el intervalo de
fijacion.
Si no especifica el rango... se selecciona automaticamente y la forma se
situa en relacion con los bordes superior e inferior de la pagina.

La forma siempre permanecera en la misma pagina que su marcador.
Si el valor de la propiedad LockAnchor es True, no podra arrastrar el
marcador de su posicion en la pagina.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida