Crear carpetas y almacenar doc en ellas access
Mi nombre es Marta, perdonar que moleste tengo una duda con este código:
Desde un botón creo una carpeta con el nombre de un campo para almacenar un documento de word, si la carpeta existe, solo me la abre si no la crea y me abre una plantilla de word para rellenar y guardarlo en esa carpeta que he creado.
Ahora mi problema es que a la hora de guardar el documento de word lo guarda en la misma dirección que la carpeta que he creado y no dentro de ella osea
si la carpeta que he creado es en c:\almacen\tareas\1 (1 es nombre de la carpeta)
EL ARCHIVO LO ALMACENA EN C:\ALMACEN\TAREAS\1.DOC (ES NOMBRE DEL ARCHIVO)
No encuentro la manera de almacenar el documento en su carpeta.
Te agradecería que me echaras una mano gracias de antemano.
Uso office 2003 osea que no puedo usar FileSystemObject
GRACIAS
Private Sub Comando88_Click()
On Error GoTo manejadorError
Dim appWord As Word.Application
Dim docs As Word.Documents
Dim doc As Word.Document
Dim campoWord As Object
Dim strRutaPlantilla As String
Dim strTestPlantilla As String
Dim strNuevoDocumento As String
Dim archivo
Dim strDirectorio
' Ruta completa de la plantilla de Word
strRutaPlantilla = "\\10.39.226.12\asuntos\tareas\PLANTILLAS\PLANTILLA1.doc"
' Ruta y nombre del nuevo documento
archivo = Dir("\\10.39.226.12\asuntos\tareas\ " & Me.N_Tarea, vbDirectory) ' directorio o carpeta a crear
strDirectorio = "\\10.39.226.12\asuntos\tareas\" & Me.N_Tarea
If archivo = "" Then 'Si la carpeta no existe
MkDir ("\\10.39.226.12\asuntos\tareas\ " & Me.N_Tarea) ' se crea la carpeta
Else
MsgBox "LA CARPETA YA EXISTE"
carpeta = "\\10.39.226.12\asuntos\tareas\ " & Me.N_Tarea
Shell "explorer.exe " & carpeta, vbNormalFocus 'si existe se abre
Exit Sub
End If
strNuevoDocumento = "\\10.39.226.12\asuntos\tareas\" & Me.N_Tarea & ".doc"
'strNuevoDocumento = strDirectorio & "\" & Me.N_Tarea & ".doc"
Set appWord = CreateObject(Class:="Word.Application")
Set docs = appWord.Documents
Set doc = docs.Add(strRutaPlantilla)
With appWord
.Visible = True
.ActiveDocument.SaveAs strNuevoDocumento
.Activate
End With
manejadorErrorSalir:
Exit Sub
manejadorError:
If Err.Number = 429 Then
Set appWord = CreateObject(Class:="Word.Application")
Resume Next
Else
MsgBox Err.Description, , "Error Nº: " & Err.Number
Resume manejadorErrorSalir
End If
End Sub
Desde un botón creo una carpeta con el nombre de un campo para almacenar un documento de word, si la carpeta existe, solo me la abre si no la crea y me abre una plantilla de word para rellenar y guardarlo en esa carpeta que he creado.
Ahora mi problema es que a la hora de guardar el documento de word lo guarda en la misma dirección que la carpeta que he creado y no dentro de ella osea
si la carpeta que he creado es en c:\almacen\tareas\1 (1 es nombre de la carpeta)
EL ARCHIVO LO ALMACENA EN C:\ALMACEN\TAREAS\1.DOC (ES NOMBRE DEL ARCHIVO)
No encuentro la manera de almacenar el documento en su carpeta.
Te agradecería que me echaras una mano gracias de antemano.
Uso office 2003 osea que no puedo usar FileSystemObject
GRACIAS
Private Sub Comando88_Click()
On Error GoTo manejadorError
Dim appWord As Word.Application
Dim docs As Word.Documents
Dim doc As Word.Document
Dim campoWord As Object
Dim strRutaPlantilla As String
Dim strTestPlantilla As String
Dim strNuevoDocumento As String
Dim archivo
Dim strDirectorio
' Ruta completa de la plantilla de Word
strRutaPlantilla = "\\10.39.226.12\asuntos\tareas\PLANTILLAS\PLANTILLA1.doc"
' Ruta y nombre del nuevo documento
archivo = Dir("\\10.39.226.12\asuntos\tareas\ " & Me.N_Tarea, vbDirectory) ' directorio o carpeta a crear
strDirectorio = "\\10.39.226.12\asuntos\tareas\" & Me.N_Tarea
If archivo = "" Then 'Si la carpeta no existe
MkDir ("\\10.39.226.12\asuntos\tareas\ " & Me.N_Tarea) ' se crea la carpeta
Else
MsgBox "LA CARPETA YA EXISTE"
carpeta = "\\10.39.226.12\asuntos\tareas\ " & Me.N_Tarea
Shell "explorer.exe " & carpeta, vbNormalFocus 'si existe se abre
Exit Sub
End If
strNuevoDocumento = "\\10.39.226.12\asuntos\tareas\" & Me.N_Tarea & ".doc"
'strNuevoDocumento = strDirectorio & "\" & Me.N_Tarea & ".doc"
Set appWord = CreateObject(Class:="Word.Application")
Set docs = appWord.Documents
Set doc = docs.Add(strRutaPlantilla)
With appWord
.Visible = True
.ActiveDocument.SaveAs strNuevoDocumento
.Activate
End With
manejadorErrorSalir:
Exit Sub
manejadorError:
If Err.Number = 429 Then
Set appWord = CreateObject(Class:="Word.Application")
Resume Next
Else
MsgBox Err.Description, , "Error Nº: " & Err.Number
Resume manejadorErrorSalir
End If
End Sub
3 respuestas
Respuesta de Neckkito Nck
1
Respuesta de kepasada
1
Respuesta de Roberto Hinojosa
1