[RESUELTO] Macro para importar archivos txt a calc
-
- Mensajes: 23
- Registrado: Mié Sep 20, 2017 2:11 pm
[RESUELTO] Macro para importar archivos txt a calc
Buenas de que manera puedo hacer una Macro importar un archivo txt, a una hoja de calc?
Última edición por fornelasa el Vie Sep 29, 2017 9:42 pm, editado 2 veces en total.
Razón: Agregar icono de resuelto.
Razón: Agregar icono de resuelto.
OpenOffice 3.3.0 en Windows 7 Profesional
Re: Macro para importar archivos txt a calc
¿Has realizado una búsqueda en estos foros?, creo recordar se ha respondido varias veces esta pregunta.
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 23
- Registrado: Mié Sep 20, 2017 2:11 pm
Re: Macro para importar archivos txt a calc
Hola Mauricio solo vi una, pero no esta RESUELTO, descargue el archivo que ahi utilizan como ejemplo pero no me funciona
OpenOffice 3.3.0 en Windows 7 Profesional
Re: Macro para importar archivos txt a calc
Por aquí resolví una importación especial de TXT:
https://forum.openoffice.org/es/forum/v ... portar+txt
Intenta aplicarlo, si no, mira el mismo tema para ver toda la información que requieres proporcionar a quien quiera ayudarte.
Saludos
https://forum.openoffice.org/es/forum/v ... portar+txt
Intenta aplicarlo, si no, mira el mismo tema para ver toda la información que requieres proporcionar a quien quiera ayudarte.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
- PepeOooSevilla
- Mensajes: 1480
- Registrado: Sab Abr 04, 2009 6:10 pm
- Ubicación: Sevilla (España)
Re: Macro para importar archivos txt a calc
Hola.
Como ha dicho mauricio, si pudieras dar más información y, mejor aún, subir un TXT de ejemplo, tal vez te podamos ayudar.
Saludos cordiales.
Como ha dicho mauricio, si pudieras dar más información y, mejor aún, subir un TXT de ejemplo, tal vez te podamos ayudar.
Saludos cordiales.
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
-
- Mensajes: 23
- Registrado: Mié Sep 20, 2017 2:11 pm
Re: Macro para importar archivos txt a calc
Bueno es simplemente importar este archivo TXT a una hoja de calc, si es posible programando un botón que busque el archivo que se desea importar, el archivo siempre tiene la misma estructura
- Adjuntos
-
- Datos Tablero Domicilio.zip
- (67.86 KiB) Descargado 377 veces
OpenOffice 3.3.0 en Windows 7 Profesional
-
- Mensajes: 23
- Registrado: Mié Sep 20, 2017 2:11 pm
Re: Macro para importar archivos txt a calc
Mauricio es que Phyton no corre en mi openoffice, desconozco la razonmauricio escribió:Por aquí resolví una importación especial de TXT:
https://forum.openoffice.org/es/forum/v ... portar+txt
Intenta aplicarlo, si no, mira el mismo tema para ver toda la información que requieres proporcionar a quien quiera ayudarte.
Saludos
OpenOffice 3.3.0 en Windows 7 Profesional
Re: Macro para importar archivos txt a calc
Tu archivo es bastante estandar, agregar un botón queda exactamente igual que ir a Archivo -> Abrir y seleccionar en Aceptar... salvo que quieras automatizar más tareas con el, no le veo caso agregar la macro.
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Macro para importar archivos txt a calc
También en base a tu archivo pudiera ser:
solo cambia tu ruta/carpeta ya que esta macro no busca el file, va directo al archivo (es más practico).
Archivo ejemplo
Saludos, Federico.
solo cambia tu ruta/carpeta ya que esta macro no busca el file, va directo al archivo (es más practico).
Archivo ejemplo
Saludos, Federico.
- Adjuntos
-
- ImportarTXT.ods
- Importar datos
- (9.99 KiB) Descargado 470 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
-
- Mensajes: 23
- Registrado: Mié Sep 20, 2017 2:11 pm
Re: Macro para importar archivos txt a calc
Muchisimas gracias, es exactamente lo que necesitaba..., eres el mejor.
OpenOffice 3.3.0 en Windows 7 Profesional
-
- Mensajes: 23
- Registrado: Mié Sep 20, 2017 2:11 pm
Re: [RESUELTO] Macro para importar archivos txt a calc
hola el codigo funciona bien para una hoja activa, pero quiero hacerlo por el nombre de la hoja pero me da error, te indico cual linea modifique:
Código: Seleccionar todo
Sub AbrirTXT()
dim ctrl, marco,desti, oDoc, document, bctrl, orig, cursor, origen, sruta, dispatcher
ctrl = ThisComponent.CurrentController
marco = ctrl.Frame
desti = ctrl.ActiveSheet.getCellRangeByName("A1")
Dim mArg(1) As New com.sun.star.beans.PropertyValue
sRuta = ConvertToURL("C:\Users\alarteta\Documents\Alexis Arteta\Domicilios 2017\datos tablero domicilio.txt") '
mArg(0).Name = "FilterName"
mArg(0).Value = "Text - txt - csv (StarCalc)"
mArg(1).Name = "FilterOptions"
mArg(1).Value = "59/9"
oDoc = StarDesktop.loadComponentFromURL(sRuta, "_blank", 0, mArg())
document = oDoc.CurrentController.Frame
bctrl = ThisComponent.Sheets.getByName("detalle") 'document.Controller.ActiveSheet <----------- Cambie esta linea y da error
orig = bctrl.getCellRangeByName ("A1")
cursor = bctrl.createCursorByRange(orig)
cursor.collapseToCurrentRegion
origen = bctrl.getCellRangeByName(cursor.absoluteName)
document.Controller.select(origen) <----------------------------------------------Linea donde se produce el error Type: com.sun.star.IlegalArgumentsException
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
document.Close(True)
ctrl.Select(desti)
dispatcher.executeDispatch(marco, ".uno:Paste", "", 0, Array())
End Sub
OpenOffice 3.3.0 en Windows 7 Profesional
Re: [RESUELTO] Macro para importar archivos txt a calc
Únicamente debes modificar/cambiar la tercer linea aquí/así:
Saludos, Federico.
Código: Seleccionar todo
desti = ThisComponent.Sheets.getByName("tuHoja").getCellRangeByName("A1")
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
-
- Mensajes: 23
- Registrado: Mié Sep 20, 2017 2:11 pm
Re: [RESUELTO] Macro para importar archivos txt a calc
Excelente Muchas, Muchísimas Gracias.
Comparto el codigo para quien pueda servirle, pero ahora con una modificación con otro que conseguí en el foro, y sirve para escoger cualquier archivo abriendo la ventana para escogerlo
Comparto el codigo para quien pueda servirle, pero ahora con una modificación con otro que conseguí en el foro, y sirve para escoger cualquier archivo abriendo la ventana para escogerlo
Código: Seleccionar todo
Sub AbrirTXT()
'***************Esta seccion de codigo abre la ventana para escoger el archivo
Dim oDlgAbrirArchivo as Object
Dim mArchivo() As String
Dim mOpciones()
Dim sRuta As String
Dim oDoc As Object
dim sys
'Creamos el servicio necesario
oDlgAbrirArchivo = CreateUnoService ("com.sun.star.ui.dialogs.FilePicker")
'Establecemos el título del cuadro de diálogo
oDlgAbrirArchivo.setTitle("Selecciona el archivo a abrir")
'Con el método .Execute() mostramos el cuadro de diálogo
'Si el usuario presiona Abrir el método devuelve 1 que podemos evaluar como Verdadero (True)
'Si presiona Cancelar devuelve 0
If oDlgAbrirArchivo.Execute() Then
'De forma predeterminada, solo se puede seleccionar un archivo
'pero devuelve una matriz de todos modos con la ruta completa
'del archivo en formato URL
mArchivo() = oDlgAbrirArchivo.getFiles()
'El primer elemento de la matriz es el archivo seleccionado
sRuta = mArchivo(0)
'Y lo abrimos
'sys = CreateUnoService("com.sun.star.system.SystemShellExecute") <------- Si quieres abrir el archivo directamente debes activar esta linea
'------------------------------------------------------------------------------
'Abre el documento en el visor predeterminado
'sys.execute( sRuta, "", 0) <------- Si quieres abrir el archivo directamente debes activar esta linea
Else
'Si el usuario presiona Cancelar
MsgBox "Proceso cancelado"
End If
'*****************Esta seccion de codigo lo importa a una hoja en calc
dim ctrl, marco,desti, document, bctrl, orig, cursor, origen, dispatcher 'oDoc, sruta,
ctrl = ThisComponent.CurrentController
marco = ctrl.Frame
desti = ThisComponent.Sheets.getByName("detalle").getCellRangeByName("A1") 'desti = ctrl.ActiveSheet.getCellRangeByName("A1")
Dim mArg(1) As New com.sun.star.beans.PropertyValue
'sRuta = ConvertToURL(mArchivo())' ConvertToURL("C:\Users\alarteta\Documents\Alexis Arteta\Domicilios 2017\datos tablero domicilio.txt") ' < ----- OJO txt
mArg(0).Name = "FilterName"
mArg(0).Value = "Text - txt - csv (StarCalc)"
mArg(1).Name = "FilterOptions"
mArg(1).Value = "59/9"
oDoc = StarDesktop.loadComponentFromURL(sRuta, "_blank", 0, mArg())
document = oDoc.CurrentController.Frame
bctrl = document.Controller.ActiveSheet'ThisComponent.Sheets.getByName("detalle")
orig = bctrl.getCellRangeByName ("A1")
cursor = bctrl.createCursorByRange(orig)
cursor.collapseToCurrentRegion
origen = bctrl.getCellRangeByName(cursor.absoluteName)
document.Controller.select(origen)
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
document.Close(True)
ctrl.Select(desti)
dispatcher.executeDispatch(marco, ".uno:Paste", "", 0, Array())
msgbox("El Archivo se Cargó Correctamente")
END SUB
OpenOffice 3.3.0 en Windows 7 Profesional