Access - crear carpeta y guarda documento Word en ella

 
Vista:

crear carpeta y guarda documento Word en ella

Publicado por blas (143 intervenciones) el 22/01/2011 18:32:58
Hola a todos.

Hasta ahora, los datos de un formulario de ACCESS los llevo hasta las plantillas de unos documentos de Word que guardo automaticamente en carpetas ya creadas.

Estos documentos se guardan automaticamente en atención a un campo IDD01 del formulario de ACCESS.

Lo que quiero ahora, es que antes se cree tambien una carpeta automaticamente en atención a un nombre cualquiera de un campo del formulario y allí vayan los documentos que ahora guardo automaticamente en una carpeta ya crada manualmente. La linea de código con la que guardo hasta ahora los documentos es la de mas abajo. Gracias a todos. Saludos Blas.

strNuevoDocumento = "C:\Almacen\Documentos\" & Me.IDD01 & ".doc"
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
sin imagen de perfil
Val: 15
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

RE:crear carpeta y guarda documento Word en ella

Publicado por Angel (90 intervenciones) el 23/01/2011 17:40:30
Hola Blas, verás yo soy principiante y aunque pueda que lo que te expongo sea escueto, es la forma con la que yo creo una carpeta antes de hacer una combinación con word, lo lanzo desde cualquier texbox del formulario y lo que aun no he conseguido es que se guarde luego el documento dentro de la carpeta, si alguien puede aportar más datos?:

Function Crear() As String
Dim Carpeta As String
Dim MiRuta As String
Carpeta = Me.CAMPO QUE DA NOMBRE A CARPETA + 1 & "_11"
MiRuta = "RUTA DONDE QUIERES CREAR LA CARPETA" & Carpeta
If Carpeta <> Dir(MiRuta, vbDirectory) Then
MkDir MiRuta
End If
End Function

Bueno tambien numero de forma secuencial las carpetas más el año como puedes ver.

!Ah, me interesaría saber como combinas Access con Work?
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

RE:crear carpeta y guarda documento Word en ella

Publicado por blas  (143 intervenciones) el 24/01/2011 20:25:51
Hola Ángel.

Perdona que no te haya contestado antes pero ayer no me puse.
Yo tampoco soy profesional. hago algunas cosillas que me facilitan las tareas diarias en el trabajo.

He intentado poner tu código dentro del que yo utilizo para llamar a las plantillas de Word pero hasta ahora nada. Crear las carpetas si que sé a través de MkDir, pero crearla automaticamente con el nombre de un campo de Access y que en ella se guarde automáticamente tambien el documento de Word no. creo que alguien mas no va a tener que ayudar. ¡Mi menda si estas por ahí una manita mas a tu manejador!.

No se a que te refieres con lo de como combino Access con Word, supongo que lo diras por como paso el texto de un formulario de Access a un documento de Word. Desde luego no lo hago por el metodo de combinar correspondencia. Yo lo hago por código campos "DOCPROPERTY". Dime que es lo que haces tu y si puedo te echo una manita. Saludos Blas.
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
sin imagen de perfil
Val: 15
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

RE:crear carpeta y guarda documento Word en ella

Publicado por Angel (90 intervenciones) el 26/01/2011 14:38:41
Hola Blas, perdona pero no entro muy a menudo en el foro, yo creo que lo mejor es tener la BD por delante, si no no nos aclaramos. Si quieres envíame una copia a mi correo. A mi me funciona la creación de carpetas con el campo opcional que le ponga.

[email protected]
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

RE:crear carpeta y guarda documento Word en ella

Publicado por mi menda (1111 intervenciones) el 27/01/2011 03:50:10
Hola:
Ejemplo:

Creamos una carpeta en Mis documentos cuyo nombre será el que pongas en un control del formulario

MkDir "C:\Mis documentos\"& Me.ControlNombreCarpetaEnFormulario

Un saludo
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

RE:crear carpeta y guarda documento Word en ella

Publicado por blas (143 intervenciones) el 27/01/2011 09:52:41
Hola mi menda, no sabes cuanto me alegra que constestes, siempre me sacas de apuros.

Lo de abajo, es la mitad del código de tu magnifico manejador que tambien me ha ido.
He hecho todo tipo de combinaciones, pero en unas ocasiones me crea la carpeta, otras no me la crea, otras me crea la carpeta por un lado y el docuemnto lo manda a otro. En fin un desastre.
Tal y como lo tengo abajo, me crea la carpeta con el nombre del control de ACCESS que es IDD01 en la carpeta ALMACEN, pero no consigo guardar en ella automaticamente el el documento. Te digo que he hecho muchas combinaciones pero todas fallidas. Si me puedes ayudar por favor, muchas gracias mi menda.

Private Sub Comando80_Click()
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

On Error GoTo ManejadorError

' Asi creo la carpeta automáticamente
MkDir "C:\ALMACEN\" & Me.IDD01
' Ruta completa de la plantilla de Word
strRutaPlantilla = "C:\ALMACEN\00-PORTADA.dot"
' Ruta y nombre del nuevo documento
strNuevoDocumento = "C:\ALMACEN\" & Me.IDD01 & ".doc"
'Sí existe el archivo lo abrimos y nos salimos,
' sino existe lo creamos
strTestPlantilla = Nz(Dir(strNuevoDocumento))

If strTestPlantilla <> "" Then

If MsgBox("El Documento ya existe. ¿Desea actualizarlo", _
vbInformation + vbYesNo + vbDefaultButton2, _
"I2000 GADAR Actualizar Documento") = vbNo Then
'Esta linea la ponemos solo sí queremos que se abra el documento
Application.FollowHyperlink strNuevoDocumento
Exit Sub
End If
End If

' Si el resto del código
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

RE:crear carpeta y guarda documento Word en ella

Publicado por mi menda (1111 intervenciones) el 28/01/2011 07:07:26
Hola

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

'Nueva variable
Dim strDirectorio

On Error GoTo ManejadorError

'Si no existe La carpeta la creamos
'IDD01 supongo es el control de donde toma el nombre la carpeta a crear
strDirectorio = "C:\ALMACEN\" & Me.IDD01"
If Nz(strDirectorio, "") = "" Then
MkDir strDirectorio
End If

' Ruta completa de la plantilla de Word
strRutaPlantilla = "C:\ALMACEN\00-PORTADA.dot"

' Ruta y nombre del nuevo documento
'Nombras el documento igual que la carpeta (IDD01), si metes más de un documento en la misma carpeta se sobreescribiran y solo te aparecerá 1 docum.
strNuevoDocumento = strDirectorio & ".doc"

Fijate que como lo tenias antes ,igual que ahora te lo dejo, si en el control IDD01 pones BLAS, te creará la carpeta BLAS dentro del directorio C:\ALMACEN
Dentro de esa carpeta te creará el documento BLAS.doc. Como siempre nombras la carpeta igual que el documento solo tendrás 1 documento por carpeta, puesto que el segundo documento sobreescribirá al primero al tener el mismo nombre.
No se si es eso lo que quieres, pero si no es asi, debes de tomar el nombre para el documento de otro control

strNuevoDocumento = strDirectorio & "\" & ControlNombreDoc & ".doc"

Un saludo
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

RE:crear carpeta y guarda documento Word en ella

Publicado por blas (143 intervenciones) el 28/01/2011 09:39:07
Hola mi menda.

Muchas gracias por la molestia.
Mira mi menda, en la primera linea me da error al cerrar con comillas, dice que "se espera fin de instrucción", y se marca en rojo. he intentado varias opciones segun la ayuda de ACCESS pero no resulta, a veces me crea la carpeta o el documento pero por separado como te decia en mi anterior correo. Muchas gracias por la puntualización que me haces sobre el segundo documento pero hasta ahi aun no he llegado.

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
'Nueva variable
Dim strDirectorio

On Error GoTo ManejadorError

'Esta linea es la que da error al cerrar con comillas
'Dice en la ayuda que se espera fin de la instrucción
strDirectorio = "C:\ALMACEN\" & Me.IDD01"
If Nz(strDirectorio, "") = "" Then
MkDir strDirectorio
End If
' Ruta completa de la plantilla de Word
strRutaPlantilla = "C:\ALMACEN\00-PORTADA.dot"
' Ruta y nombre del nuevo documento
strNuevoDocumento = strDirectorio & ".doc"
'Sí existe el archivo lo abrimos y nos salimos,
' sino existe lo creamos
strTestPlantilla = Nz(Dir(strNuevoDocumento))
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

RE:crear carpeta y guarda documento Word en ella

Publicado por mi menda (1111 intervenciones) el 28/01/2011 21:35:56
Hola
Es un error mio. Sobra la última comilla doble

strDirectorio = "C:\ALMACEN\" & Me.IDD01

Fíjate que la ruta donde se guarda el nuevo documento tiene que ser la ruta de strDirectorio

strNuevoDocumento = strDirectorio & "\" & Me.ControlNombreDocumento & ".doc"

Un saludo
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

RE:crear carpeta y guarda documento Word en ella

Publicado por blas (143 intervenciones) el 29/01/2011 08:04:44
Hola mi menda.

Sigo con el problema.
Solo consigo que abra el documento de Word, tal y como esta no crea carpeta alguna ni guarda documento en ningun sitio, solo abre un documento de Word con los datos del registro activo de ACCESS. No se algo hay mal. Te importa revisar el manejador completo. Gracias
Mas abajo he pegado el código completo, bueno tu ya lo conoces bien. En esta ocasion el nombre del control lo he cambiado por D04 pero da igual como ves los nombres de campo los tengo todos codificados. Bueno, mientras espero respuesta sigo probando. Un saludo Blas.

Private Sub Comando80_Click()
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

'Nueva variable
Dim strDirectorio

On Error GoTo ManejadorError

'Si no existe La carpeta la creamos
strDirectorio = "C:\ALMACEN\" & Me.D04
If Nz(strDirectorio, "") = "" Then
MkDir strDirectorio
End If

' Ruta completa de la plantilla de Word
strRutaPlantilla = "C:\ALMACEN\00-PORTADA.dot"
' Ruta y nombre del nuevo documento
strNuevoDocumento = strDirectorio & "\" & Me.D04 & ".doc"
'Sí existe el archivo lo abrimos y nos salimos,
' sino existe lo creamos
strTestPlantilla = Nz(Dir(strNuevoDocumento))

If strTestPlantilla <> "" Then
If MsgBox("El Documento ya existe. ¿Desea actualizarlo", _
vbInformation + vbYesNo + vbDefaultButton2, _
"I2000 GADAR Actualizar Documento") = vbNo Then
'Esta linea la ponemos solo sí queremos que se abra el documento
Application.FollowHyperlink strNuevoDocumento
Exit Sub
End If
End If

Set appWord = CreateObject(Class:="Word.Application")
Set docs = appWord.Documents
Set doc = docs.Add(strRutaPlantilla)
Set campoWord = doc.CustomDocumentProperties

On Error Resume Next

campoWord.Item("IDD01").Value = IDD01
campoWord.Item("D02").Value = D02
campoWord.Item("D03").Value = D03
campoWord.Item("D04").Value = D04
campoWord.Item("D05").Value = D05
campoWord.Item("D06").Value = D06

With appWord
.Visible = True
.Selection.WholeStory
.Selection.Fields.Update
.ActiveDocument.SaveAs strNuevoDocumento
.Activate
.Selection.EndKey Unit:=wdStory
.Selection.GoTo What:=wdGoToHeading, Which:=wdGoToFirst
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
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

RE:crear carpeta y guarda documento Word en ella

Publicado por blas (143 intervenciones) el 29/01/2011 08:56:16
Hola otra vez.

strNuevoDocumento = strDirectorio & ".doc"

Dejando la ruta del nuevo documento como en la linea de arriba, lo abre y lo guarda en la carpeta ALMACEN con el nombre del control D04, pero no crea ninguna carpe.
Sigo con mas pruebas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:crear carpeta y guarda documento Word en ella

Publicado por blas (143 intervenciones) el 29/01/2011 10:26:38
Hola de nuevo mi menda sigo trasteando.

Ahora he puesto antes la linea MkDirstrDirectorio que la linea If Nz(strDirectorio,"") = "" Then y consigo que cree la carpeta con el nombre del control D04 y me la guarde en la carpeta ALMACEN, tambien consigo abrir el documento y que se guarde con el mismo nombre de control que la carpeta D04 pero no va a la carpeta D04 si no a la carpeta ALMACEN. Ahora solo queda que el documento se guarde correctamente en la carpeta D04 y seria genial.

antes:
If Nz(strDirectorio, "") = "" Then
MkDir strDirectorio

Ahora
MkDir strDirectorio
If Nz(strDirectorio, "") = "" Then

Continuo con ello. 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

RE:crear carpeta y guarda documento (Resuelto)

Publicado por blas (143 intervenciones) el 29/01/2011 11:07:00
Resuelto mi menda. Genial, muchas gracias por tu ayuda.

Con esta otra linea si que llevo el documento a la carpeta del mismo nombre. Ahora sí.

strNuevoDocumento = strDirectorio & "\" & Me.ControlNombreDocumento & ".doc"

Lo de nombrar el documento con el mismo nombre de control que la carpeta no es imprescindible lo puedo hacer con el nombre de otro control pero te agradezco la puntualización que me haces sobre ello y lo tendré en cuenta. Muchas gracias de nuevo por todo hasta otra. Saludos Blas.
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

RE:crear carpeta y guarda (No esta resuelto)

Publicado por blas  (143 intervenciones) el 29/01/2011 14:25:52
Hola mi menda, no esta todo resuelto.

Una vez creados los archivos carpeta y documento, los vuelvo a llamar y no los abre es decir creo que no los actualiza o no los renombra, si borro la carpeta y el documento creado y vuelvo a llamarlo desde el botón si vuelve a crearlos de nuevo. Un última ayuda por favor. Gracias.

Yo mientras sigo trasteando. Saludos Blas.
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

RE:crear carpeta y guarda (No esta resuelto)

Publicado por mi menda (1111 intervenciones) el 30/01/2011 06:35:48
Hola
No entiendo lo de "los vuelvo a llamar". Sí es que grabas otra vez el documento para sobreescribirlo, puede ser que como ya está creado un documento con el mismo nombre, en el código este puesto que no se vuelba a grabar. Pon otra vez el código que tengas puesto.

Un saludo
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

RE:crear carpeta y guarda (No esta resuelto)

Publicado por blas (143 intervenciones) el 30/01/2011 09:04:59
Hola mi menda.

No se trata del documento, yo creo que es la carpeta la que falla, es decir, para que sobreescriba el documento cuando ha sido modificado o simplemente lo vuelva a abrir otra vez esta el código que he pegado mas abajo.

Yo creo que hay que introducir alguna linea para decirle que sobreescriba tambien la carpeta o que no la tenga en cuenta es decir que la ignore.

Tal y como he dejado ahora el código, hago clic en el botón y crea la carpeta con el nombre del control y guarda el documento en ella correctamente con su nombre tambien de control, pero si cierro el documento y lo "llamo o lo vuelvo a abrir otra vez" ya aparecer la etiqueta avisando del (error nº 75 error de acceso a la ruta o archivo). Si por el contrario borro la carpeta y el documento y hago clic vuelve a funcionar correctamente es decir crea la carpeta y guarda el documento en ella bien.

Por todo esto, creo el erro sea por la carpeta ya que en el manejador no estaba previsto antes que se creara automáticamente y ahora necesite alguna linea advirtiendolo. Espero que me hayas entendido mi menda. Gracias blas

If strTestPlantilla <> "" Then
If MsgBox("El Documento ya existe. ¿Desea actualizarlo", _
vbInformation + vbYesNo + vbDefaultButton2, _
"I2000 GADAR Actualizar Documento") = vbNo Then
'Esta linea la ponemos solo sí queremos que se abra el documento
Application.FollowHyperlink strNuevoDocumento
Exit Sub
End If
End If
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

RE:crear carpeta y guarda (No esta resuelto)

Publicado por mi menda (1111 intervenciones) el 01/02/2011 09:31:54
Hola
Pon todo el código. Ese código lo único que hace es que si pulsas el botón NO del cuadro de mensaje se sale del procedimiento y muestra el documento sin actualizar.
Pon el resto del código para saber que pasa sí pulsamos el botón SI

Un saludo
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

RE:crear carpeta y guarda (Ya esta resuelto)

Publicado por blas (143 intervenciones) el 01/02/2011 10:23:52
Hola Mi menda.

Lo del código que dices siempre tiene la influencia sobre el documento he probado de muchas formas y ya te dije que el tema estaba en la carpeta. Pero
trastenado trasteando, he encontrado la solución, He declarado cinco nuevas variantes todas sobre la carpeta. El problema estaba en que cuando cerraba el documento y lo queria abrir otra vez, al pusar el botón y abrir otra vez el documento daba el error ¿por que? pues porque se encontraba con la carpeta ya creada y eso hace que se interrumpa todo el código ya que no tiene ninguna instrucción sobre que hacer cuando la carpeta ya existe. Mira abajo te pongo como lo he salvado.

'Creo las cinco nuevas variantes
Dim strDirectorio As String
Dim strCarpeta As String
Dim Contador As Integer
Dim MiRuta As String
Dim MiCarpeta As String

On Error GoTo ManejadorError

' Cargo nombre carpeta
strCarpeta = Me.IDD01
'Iniciamos contador a cero
Contador = 0

' Muestra los nombres en C:\ALMACEN\ que representan carpetas.
MiRuta = "C:\INSTRUCCION\" ' Establece la ruta.
MiCarpeta = Dir(MiRuta, vbDirectory)
Do While MiCarpeta <> "" ' Inicia el bucle.
' Ignora el directorio actual y el que lo abarca.
If MiCarpeta <> "." And MiCarpeta <> ".." Then
' Realiza una comparación a nivel de bit para asegurarse de que MiCarpeta es un directorio.
If (GetAttr(MiRuta & MiCarpeta) And vbDirectory) = vbDirectory Then
If MiCarpeta Like strCarpeta Then
Contador = 1
End If
End If ' solamente si representa un directorio.
End If
MiCarpeta = Dir.
Loop

'Si contador es igual a 0 es que no ha encontrado la carpeta en el directorio y la crea

If Contador = 0 Then
'Como no existe asignas la ruta del directorio
strDirectorio = "C:\ALMACEN\" & Me.IDD01
'Creo directorio
MkDir strDirectorio

Ahora otra cosa mas si no es mucho pedir.
¿Si quisiera que el documento se guardara con el nombre de la plantilla de Word?
Gracias por todo mi menda. Un saludo Blas.
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

RE:crear carpeta y guarda (Ya esta resuelto)

Publicado por man (5 intervenciones) el 01/07/2011 19:25:48
estoy intentando hacer algo parecido y necesitaría que pusieras el código entero para poder terminarlo.
GRACIAS DE ANTEMANO,
mi correo es: [email protected]
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

crear carpeta y guarda documento Word en ella

Publicado por saul (2 intervenciones) el 29/12/2011 04:49:56
hola mi menda
perdona que le moleste , pero e intentando ya mucho en esta BD debido a mi trabajo y tengo mucho problema para hacerla y estoy muy enredado .. porfavor podria ayudarme con la codificación completa de la creacion de achivos word desde access y poder manejarla desde la base de datos acces (crear,guardar,eliminar) , no soy un experto en esto... de antemano gracias por su ayuda
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