
Copiar en excel y pegar en un bloc de notas sin espacios
Publicado por Pedro Canales (3 intervenciones) el 30/11/2023 20:43:46
Hola buenas tardes, les comparto mi caso:
Tengo una macro en excel que necesito pasar de una hoja a un bloc de notas.
Lo que hace es que copia en excel y pega en un archivo de bloc de notas.
El tema aqui es que cuando copia y pega me deja unos espacios. estos espacios no tienen que aparecer cuando pego, puesto que este archivo se usa para otro programa y si detecta espacios en el txt genera un error.
En realidad la primera fila no son espacios, sino saltos de columnas
y al final de pegar la info si deja un salto de pagina o un "enter"
Esos dos casos se tienen que eliminar.
Lo intente haciendo copy paste primero la primera fila y despues lo demas,
Pero no tuve exito.
Y evidentemente si copio y pego todo desde la priemra fila hasta la ultima, pues me toma los espacios de las columnas.
¿Me pueden ayudar?
Les dejo mi código espero me puedan ayudar
Tengo una macro en excel que necesito pasar de una hoja a un bloc de notas.
Lo que hace es que copia en excel y pega en un archivo de bloc de notas.
El tema aqui es que cuando copia y pega me deja unos espacios. estos espacios no tienen que aparecer cuando pego, puesto que este archivo se usa para otro programa y si detecta espacios en el txt genera un error.
En realidad la primera fila no son espacios, sino saltos de columnas
y al final de pegar la info si deja un salto de pagina o un "enter"
Esos dos casos se tienen que eliminar.
Lo intente haciendo copy paste primero la primera fila y despues lo demas,
Pero no tuve exito.
Y evidentemente si copio y pego todo desde la priemra fila hasta la ultima, pues me toma los espacios de las columnas.
¿Me pueden ayudar?
Les dejo mi código espero me puedan ayudar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub CopiarYpegarABlocDeNotas()
Dim objShell As Object
Dim objFileSystem As Object
Dim objFile As Object
Dim texto As String
Dim numFilas As Long
' Abrir Bloc de Notas y pegar A1:B1
Set objShell = CreateObject("WScript.Shell")
objShell.Run "notepad.exe"
Application.Wait (Now + TimeValue("0:00:02")) ' Espera 2 segundos para que el Bloc de Notas se abra
' Obtener el número de filas a copiar desde A2 hasta H
numFilas = Sheets("LAYOUT").Range("A1").Value
' Copiar desde A2 hasta H[numFilas]
Sheets("LAYOUT").Range("A1:H" & numFilas + 1).Copy
' Pegar en el Bloc de Notas debajo de A1:B1
objShell.SendKeys "^{END}" ' Mover al final del Bloc de Notas
objShell.SendKeys "^v" ' Pegar en el Bloc de Notas
' Esperar un momento para asegurar la pegada
Application.Wait (Now + TimeValue("0:00:02"))
' Simular la selección y eliminación de los últimos 6 caracteres
objShell.SendKeys "^{HOME}" ' Mover al inicio del Bloc de Notas
objShell.SendKeys "+{END 5}" ' Seleccionar desde el inicio al final de la línea
objShell.SendKeys "{RIGHT 6}" ' Moverse 6 lugares hacia la derecha
objShell.SendKeys "{DEL}" ' Borrar la selección
End Sub
Valora esta pregunta


0