Visual Basic - Actualizacion excel vinculado via VBA

Life is soft - evento anual de software empresarial
   
Vista:

Actualizacion excel vinculado via VBA

Publicado por Felipe (3 intervenciones) el 28/01/2014 21:04:22
Hola estoy desarrollando una macro muy sencilla y me da problemas
El objetivo es Pulsar Ctrl+a y que actualice datos vinculados y se guarde en .txt en una ruta.


El código es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
Sub Actualizar()
'
' Actualizar Macro
'
' Acceso directo: CTRL+a
'
    ActiveWorkbook.RefreshAll
    ChDir "C:\carpeta\carpeta"
    ActiveWorkbook.SaveAs Filename:="C:\.carpeta\Archivo.txt",
FileFormat:= _ xlText, CreateBackup:=False
End Sub

Bien,lo que hace esta macro al pulsar Ctrl+a es abrirme un cuadro de dialogo que pone:

"Esta acción cancelará un comando pendiente de actualización de datos"

Si le pulso en aceptar no actuliza y me guarda el archivo en .txt, si le doy a cancelar me actualiza el archivo y no me guarda el archivo.

Alguien me puede aydar e indicarmeque he hecho mal??

Y por otra parte como puedo guardar el archivo txt con codificación UTF-8?? seria:

1
2
3
4
5
6
7
8
9
10
11
Sub Actualizar()
'
' Actualizar Macro
'
' Acceso directo: CTRL+a
'
    ActiveWorkbook.RefreshAll
    ChDir "C:\carpeta\carpeta"
    ActiveWorkbook.SaveAs Filename:="C:\.carpeta\Archivo.txt",
FileFormat:= _xlText, CreateBackup:=False, Encoding=UTF-8
End Sub


Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Actualizacion excel vinculado via VBA

Publicado por Felipe (3 intervenciones) el 30/01/2014 15:57:24
Solucionado!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Actualizacion excel vinculado via VBA

Publicado por xve (178 intervenciones) el 30/01/2014 16:52:39
Hola Felipe, nos puedes comentar como lo has solucionado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actualizacion excel vinculado via VBA

Publicado por Felipe (3 intervenciones) el 30/01/2014 17:06:08
He solucionado la primera parte

de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Actualizar()
'
' Actualizar Macro
'
' Acceso directo: CTRL+a
'
    Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
 
    ChDir "C:\carpeta\archivo"
 
    ActiveWorkbook.SaveAs Filename:="C:\carpeta\archivo", _
        FileFormat:=xlText, CreateBackup:=False
 
 
End Sub


Respecto a la codificacion he encontrado esto por la red:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim fsT, tFileToOpen, tFileToSave As String
 
    tFileToOpen = InputBox("Enter the name and location of the file to convert" & vbCrLf & "With full path and filename ie. C:\MyFolder\ConvertMe.Txt")
    tFileToSave = InputBox("Enter the name and location of the file to save" & vbCrLf & "With full path and filename ie. C:\MyFolder\SavedAsUTF8.Txt")
 
    tFileToOpenPath = tFileToOpen
    tFileToSavePath = tFileToSave
 
Set fsT = CreateObject("ADODB.Stream"): 'Create Stream object
fsT.Type = 2: 'Specify stream type – we want To save text/string data.
fsT.Charset = "utf-8": 'Specify charset For the source text data.
 
fsT.Open: 'Open the stream
fsT.LoadFromFile tFileToOpenPath: 'And write the file to the object stream
 
fsT.SaveToFile tFileToSavePath, 2: 'Save the data to the named path

De momneto es lo mejorcito que he encontrado, es un coñazo porque al darle Ctrl + a aparece dos ventanas dodne tienes que elegir el directorio del archivo.

Si alguien me puede ayudar a que no aparezcan las ventanas "popUp" y se guarde directamente nos hará un favor muy grande.
Un saludo y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Actualizacion excel vinculado via VBA

Publicado por xve (178 intervenciones) el 30/01/2014 18:22:28
Muchas gracias por compartirlo Felipe!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar