'The range that contains the values
Sheets("Datos Origen").Range("C43").Copy
'Start Notepad And let it recieve focus
Shell "notepad.exe", vbNormalFocus
'Send the keys CTRL+V To Notepad (i.e the window that has focus)
SendKeys "^V"
DoEvents
Lo que no tengo y necesito es cómo hacer que luego se seleccione el texto
del block de notas y se copie de nuevo.
Traté de hacerlo continuando con el código:
SendKeys "^E"
SendKeys "^C"
pero no me funciona
Hay forma de hacer esto y si es posible hacer que se cierre el block de
notas sin guardar cambios?
Gracias por la ayuda que me puedan brindar
Jorge Martínez
Hola Jorge,
Y no podrias emplear los metodos de escritura y lectura de archivos para
hacer eso que necesitas copiando y pegando?
Revisa la ayuda del metodo input #, Open, Print #, Write #....
O si necesitas mas ayuda comentas m�s detalles?
Un saludo,
Juan
Saludos,
Jorge M
"Juan M" wrote:
>
> "Yrjo, Inc." escribió
> > Buenos días, tengo este código que toma una celda de excel, abre el block
> > de
> > notas y pega la información copiada de excel.
> >
> > 'The range that contains the values
> > Sheets("Datos Origen").Range("C43").Copy
> > 'Start Notepad And let it recieve focus
> > Shell "notepad.exe", vbNormalFocus
> > 'Send the keys CTRL+V To Notepad (i.e the window that has focus)
> > SendKeys "^V"
> > DoEvents
> >
> > Lo que no tengo y necesito es cómo hacer que luego se seleccione el texto
> > del block de notas y se copie de nuevo.
> >
> > Traté de hacerlo continuando con el código:
> > SendKeys "^E"
> > SendKeys "^C"
> > pero no me funciona
> >
> > Hay forma de hacer esto y si es posible hacer que se cierre el block de
> > notas sin guardar cambios?
> >
> > Gracias por la ayuda que me puedan brindar
> >
> > Jorge Martínez
>
> Hola Jorge,
>
> Y no podrias emplear los metodos de escritura y lectura de archivos para
> hacer eso que necesitas copiando y pegando?
> Revisa la ayuda del metodo input #, Open, Print #, Write #....
> O si necesitas mas ayuda comentas más detalles?
>
> Un saludo,
> Juan
>
>
>
Pues lo siento no puedo ayudarte con los requisitos de tu consulta.
Aunque deber�as exponer todo el procedimiento que sigues ya que
> .... pero hay otro
> procedimiento que me est� borrando lo del clipboard
en mi opini�n, habr�a que localizar que procedimiento est�s realizando que
borra el portapapeles y no depender de una aplicaci�n externa.
Incluso si la soluci�n de copiar/pegar el contenido de la celda es la
soluci�n que m�s te conviene, hacerlo en una celda auxiliar del mismo
documento.
Un saludo,
Juan
"Yrjo, Inc." escribi�
> Hola, gracias, pero no quiero leer ni escribir o leer de otro archivo de
> texto, s�lo hacer el procedimiento que mension� para mantenerlo en el
> portapapeles. Ya s� que con el copy estar�a en el portapapeles pero hay
> otro
> procedimiento que me est� borrando lo del clipboard
>
> Saludos,
>
> Jorge M
>
> "Juan M" wrote:
>
>>
>> "Yrjo, Inc." escribi�
>> > Buenos d�as, tengo este c�digo que toma una celda de excel, abre el
>> > block
>> > de
>> > notas y pega la informaci�n copiada de excel.
>> >
>> > 'The range that contains the values
>> > Sheets("Datos Origen").Range("C43").Copy
>> > 'Start Notepad And let it recieve focus
>> > Shell "notepad.exe", vbNormalFocus
>> > 'Send the keys CTRL+V To Notepad (i.e the window that has focus)
>> > SendKeys "^V"
>> > DoEvents
>> >
>> > Lo que no tengo y necesito es c�mo hacer que luego se seleccione el
>> > texto
>> > del block de notas y se copie de nuevo.
>> >
>> > Trat� de hacerlo continuando con el c�digo:
>> > SendKeys "^E"
>> > SendKeys "^C"
>> > pero no me funciona
>> >
>> > Hay forma de hacer esto y si es posible hacer que se cierre el block de
>> > notas sin guardar cambios?
>> >
>> > Gracias por la ayuda que me puedan brindar
>> >
>> > Jorge Mart�nez
>>
>> Hola Jorge,
>>
>> Y no podrias emplear los metodos de escritura y lectura de archivos para
>> hacer eso que necesitas copiando y pegando?
>> Revisa la ayuda del metodo input #, Open, Print #, Write #....
Gracias
Jorge M
"Juan M" wrote:
> Hola Jorge,
>
> Pues lo siento no puedo ayudarte con los requisitos de tu consulta.
> Aunque deberías exponer todo el procedimiento que sigues ya que
>
> > .... pero hay otro
> > procedimiento que me está borrando lo del clipboard
>
> en mi opinión, habría que localizar que procedimiento estás realizando que
> borra el portapapeles y no depender de una aplicación externa.
> Incluso si la solución de copiar/pegar el contenido de la celda es la
> solución que más te conviene, hacerlo en una celda auxiliar del mismo
> documento.
>
> Un saludo,
> Juan
>
> "Yrjo, Inc." escribió
> > Hola, gracias, pero no quiero leer ni escribir o leer de otro archivo de
> > texto, sólo hacer el procedimiento que mensioné para mantenerlo en el
> > portapapeles. Ya sé que con el copy estaría en el portapapeles pero hay
> > otro
> > procedimiento que me está borrando lo del clipboard
> >
> > Saludos,
> >
> > Jorge M
> >
> > "Juan M" wrote:
> >
> >>
> >> "Yrjo, Inc." escribió
> >> > Buenos días, tengo este código que toma una celda de excel, abre el
> >> > block
> >> > de
> >> > notas y pega la información copiada de excel.
> >> >
> >> > 'The range that contains the values
> >> > Sheets("Datos Origen").Range("C43").Copy
> >> > 'Start Notepad And let it recieve focus
> >> > Shell "notepad.exe", vbNormalFocus
> >> > 'Send the keys CTRL+V To Notepad (i.e the window that has focus)
> >> > SendKeys "^V"
> >> > DoEvents
> >> >
> >> > Lo que no tengo y necesito es cómo hacer que luego se seleccione el
> >> > texto
> >> > del block de notas y se copie de nuevo.
> >> >
> >> > Traté de hacerlo continuando con el código:
> >> > SendKeys "^E"
> >> > SendKeys "^C"
> >> > pero no me funciona
> >> >
> >> > Hay forma de hacer esto y si es posible hacer que se cierre el block de
> >> > notas sin guardar cambios?
> >> >
> >> > Gracias por la ayuda que me puedan brindar
> >> >
> >> > Jorge Martínez
> >>
> >> Hola Jorge,
> >>
> >> Y no podrias emplear los metodos de escritura y lectura de archivos para
> >> hacer eso que necesitas copiando y pegando?
> >> Revisa la ayuda del metodo input #, Open, Print #, Write #....
Ya probaste con Ctrl+A en lugar de Ctrl+E, ya que si tu programa esta en
ingles no te reconoce Seleccionar todo con Ctrl+E, sino con A.
"Yrjo, Inc." <Yrj...@discussions.microsoft.com> escribió en el mensaje de
noticias news:969BAE9C-B6FC-4C7A...@microsoft.com...
> ... el caso es que estaba trtando de imprimir automativcamente en PDF pero tengo instalado el DoPDF en mi PC
> ... no ha podido funcionar de ninguna manera con los codigos que me han dado
> asi que finalmente decidi pegarle la ruta y nombre del archivo manualmente una vez hiciera el llamado a la impresion.
> Para pegar manualmente la ruta y nombre tomaba dicha informacion de una celda de excel y lo hacia con un copiar
> pero al abrirse la aplciacion, el copiar o contenido del clipboard, se perdia
> ... por eso recurri a pegar el texto en un programa externo (notepad) y queria hacer el resto de una manera mas automatica.
> Aun no se trabajar con objetos como me propones en la primer respuesta...
1) revisa en tu consulta anterior, te he dejado unos enlaces al foro de Softland y la respuesta es que "no se puede" (por vba) :-((
2) el siguiente procedimiento pone en el portapapeles de windows el texto contenido en una celda de alguna hoja de tu libro
cuando se muestra el dialogo "final" en el doPDF para la impresion, podras usar el ctrl+V para reemplazar la ruta propuesta
(solo cambia en el codigo el nombre de la hoja y la celda apropiadas <= OJO)
saludos,
hector.
Sub Imprimir_doPDF()
Dim DataObj As New MSForms.DataObject
DataObj.SetText Worksheets("hoja1").Range("a1").Text
DataObj.PutInClipboard
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="doPDF v6 en DOP6:"
End Sub
Gracias de nuevo Héctor
Saudos,
Jorge M
Yo el archivo siempre lo trabajo en excel ya que es una plantilla para
imprimir unas facturas
Muchas gracias
> ... como el DoPDF recuerda la ultima ruta utilizada y pone por dafecto el nombre del archivo
(con pocas pruebas) por omision, sugiere el nombre del libro a imprimirse, pero... como lleva un registro (en el registro de windows)...
"recuerda" varios anteriores y, aunque los "reales" los elimines del DD, con cualquiera de esos nombres pregunta si lo quieres "reescribir"
> ... forma de cambiar el nombre del libro... temporalmente antes de imprimir y si guardarlo para que al dar imprimir ya tenga todo listo.
> ... el archivo siempre lo trabajo en excel ya que es una plantilla para imprimir unas facturas ...
- tendrias que hacer primero un "guardar como..." (por codigo: ThisWorkbook.SaveAs ...) como libro normal
(usando el nombre que resulta en la celda concatenada SIN la EXTension (si estas completando la ruta con el *.PDF)
- despues lanzas el comento de impresion
- luego ELIMINAS el libro activo (o sea, el mismo que acabas de renombrar)
- y finalmente vuelves a guardarlo con su nombre original
comenta como queda el valor "final" en la celda concatenada (y cual es esa celda y en cual hoja se encuentra)
(para poder ofrecer una propuesta mas acercada a la realidad ?)
saludos,
hector.
Saludos,
Jorge M