es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear una nueva carpeta en OneDrive.

He estado utilizando el código anterior durante años. Crea una nueva carpeta y la nombra con la fecha del próximo día laborable y agrega otra carpeta dentro de esta llamada “VO”.
El código tiene dos líneas “fPath”. La línea en pausa es la original. Con esta línea puedo mover mis archivos y el código seguirá creando una nueva carpeta, basada en la ubicación de ThisWorkbook.

Sin embargo, con OneDrive, la línea original “fPath” termina en “Error de tiempo de ejecución 52: Nombre de archivo o número incorrecto”, marcando la línea .CreateFolder (EndDir1).
¿Por qué este código no funciona en OneDrive? Cuando cambio la línea “fPath” a la dirección completa, funciona perfectamente.

Sub NewFolderNextWorkDay()

Dim FSO As Object
Dim fsoObj As Object

Dim NeArbDg As Double
NeArbDg = Application.WorkDay(Date, 1)

Dim Dato As String
Dim fPath As String
Dim EndDir1, EndDir2 As String
Dato = Format(NeArbDg, “yyyy-mm-dd”)

‘fPath = ThisWorkbook.Path & “..” ‘(código antiguo, funcionaba bien hasta que llegó OneDrive)
fPath = “C:\Users\MyId\OneDrive – MyJob\Mine dokumenter\PROD\TEST\2022\” ‘(nuevo código, funciona bien con OneDrive)

EndDir1 = (fPath & Dato & “\”)
EndDir2 = (fPath & Dato & “\VO”)

Set fsoObj = CreateObject(“Scripting.FileSystemObject”)

With fsoObj

    If Not .FolderExists(EndDir1) Then
    .CreateFolder (EndDir1)
    End If

    If Not .FolderExists(EndDir2) Then
    .CreateFolder (EndDir2)
    End If

End With

End Sub

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El código no funciona en OneDrive porque la línea original “fPath” utiliza la ruta relativa de la ubicación del libro de trabajo, que no es una ruta válida en OneDrive. OneDrive requiere la dirección completa para la ruta. Cuando se cambia la línea “fPath” a la dirección completa, el código funciona bien en OneDrive.

Comments are closed.