Página 1 de 1

Crear carpetas masivas a partir de datos en columna

NotaPublicado: Mar Sep 08, 2020 6:10 pm
por pedrogarciahoya
Buenas tardes
Sé que con excel a través de la ejecución de una macro, se puede conseguir crear carpetas en windows de forma masiva asignado los nombres de un listado de una hoja de cálculo. Condición que todos los nombres estén en una misma columna. He intentado buscar el equivalente con openoffice pero por desconocimiento no he tenido mucho éxito. Tengo una lista de 80 elementos para los que quiero crear carpetas y subcarpetas y me sería de gran utilidad.

El código de basic que se introduce es el siguiente:
Código: Seleccionar todo   Expandir vistaContraer vista
Sub CrearCarpetas()

ruta = InputBox("Ingresa la ruta donde quieres crear las carpetas")
celda = InputBox("Primera celda")
Range(celda).Select
Do While ActiveCell.Value <> ""
MkDir (ruta & "/" & ActiveCell.Value)
ActiveCell.Offset(1, 0).Select
Loop
End Sub 

Alguien me puede ayudar. He buscado en el foro, pero no he encontrado un hilo que se ajustara a mi problema. Gracias de antemano!!

Re: Crear carpetas masivas a partir de datos en columna

NotaPublicado: Mar Sep 08, 2020 8:06 pm
por FJCC-ES
El código en OpenOffice no es muy diferente al código en Excel.
Código: Seleccionar todo   Expandir vistaContraer vista
Sub Main

ruta = InputBox("Ingresa la ruta donde quieres crear las carpetas")
celda = InputBox("Primera celda")
oHoja = ThisComponent.CurrentController.ActiveSheet
oCelda = oHoja.getCellrangeByName(celda)
Columna = oCelda.CellAddress.Column

Do While oCelda.String <> ""
  MkDir (ruta & "/" & oCelda.String)
  Fila = oCelda.CellAddress.Row
  oCelda = oHoja.getCellByPosition(Columna, Fila + 1)
Loop

End Sub