Modificar macros- cambiar ruta de exportado, para que se exporte en el lugar de origen de mi archivo excel

Hola a todos mis amigos me gusta ria poder modificar esta macros solo el origen de exportado de esta macros.. Actualmente uso esta macros y me exporta el archivo .txt en mis documentos, me gustaría modificarla para que se exporte en el lugar de origen del archivo original

Private Sub EXPORT_txtseparadoconcomas_Click()
     Const DELIMITER As String = ","
        Dim myRecord As Range
        Dim myField As Range
        Dim nFileNum As Long
        Dim sOut As String
        nFileNum = FreeFile
        Open "SECC-CIVIL3D.txt" For Output As #nFileNum
        For Each myRecord In Range("A1:A" & _
                    Range("A" & Rows.Count).End(xlUp).Row)
            With myRecord
                For Each myField In Range(.Cells, _
                        Cells(.Row, Columns.Count).End(xlToLeft))
                    sOut = sOut & DELIMITER & myField.Text
                Next myField
                Print #nFileNum, Mid(sOut, 2)
                sOut = Empty
            End With
        Next myRecord
        Close #nFileNum
        MsgBox "Se ha Exportado Correctamente", , "ARCHIVO TXT SEPARADO CON COMAS"
    End Sub

También me gustaría que una vez exportado no se abra automáticamente, se los agradecería.. Por favor

1 respuesta

Respuesta
1

Agregué estas líneas para guardar para exportar el archivo en el origen

ruta = ThisWorkbook.Path
ChDir ruta

La macro quedaría así:

Private Sub EXPORT_txtseparadoconcomas_Click()
    Const DELIMITER As String = ","
    Dim myRecord As Range
    Dim myField As Range
    Dim nFileNum As Long
    Dim sOut As String
    nFileNum = FreeFile
    ruta = ThisWorkbook.Path
    ChDir ruta
    Open "SECC-CIVIL3D.txt" For Output As #nFileNum
    For Each myRecord In Range("A1:A" & _
                Range("A" & Rows.Count).End(xlUp).Row)
        With myRecord
            For Each myField In Range(.Cells, _
                    Cells(.Row, Columns.Count).End(xlToLeft))
                sOut = sOut & DELIMITER & myField.Text
            Next myField
            Print #nFileNum, Mid(sOut, 2)
            sOut = Empty
        End With
    Next myRecord
    Close #nFileNum
    MsgBox "Se ha Exportado Correctamente", , "ARCHIVO TXT SEPARADO CON COMAS"
End Sub

Hice pruebas y el archivo no se abre.

¡Gracias! MUCHAS GRACIAS Dante Amor , eres un capo trate de hacer eso toda la noche y no lo logre ..me doy cuenta k me falta mucho por aprender ...Se te agradece tu esfuerzo

Dante Amor tengo una duda trato de correr el macros que me hiciste en un botón de excel "Controles Active x" copio el código al nuevo botón y en visual basic lo ejecuto y me aparece un error "Error de compilación No se ha definido una variable" quisiera saber a que se debe eso o el macros falla en algo .. Por que como te digo copie el código a este botón "Private Sub EXPORT_CIVIL3D_Click()" y me sale ese error

Si tienes esto al principio de tu macro

Option Explicit

Quita esa línea

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas