Access - crea carpeta pero si ya existe que la abra

   
Vista:

crea carpeta pero si ya existe que la abra

Publicado por KOKE m_jurado10@hotmail.com (5 intervenciones) el 04/07/2011 14:08:34
Desde un botón me crea una carpeta y un documento cojido de una plantilla, hasta ahí bien, pero si la carpeta ya la he creado al volver a abrirla me da un error.
Solo necesito que si la carpeta existe, pues que la abra, y si no que haga el resto del código.
GRACIAS´


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Private Sub Comando82_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
Dim strDirectorio
 
On Error GoTo manejadorError
 
'AQUI ESTÁ MI DUDA... COMO LE PUEDO DECIR QUE SI LA CARPETA EXISTE, SOLAMENTE QUE LA ABRA"
 
 
strDirectorio = "RUTA DE DONDE QUEREMOS LA CARPETA" & Me.CAMPO DEL FORMULARIO
MkDir strDirectorio
strRutaPlantilla = "\RUTA DE DONDE QUEREMOS LA CARPETA\PLANTILLA.doc" strNuevoDocumento = strDirectorio & "\" & Me.CAMPO DEL FORMULARIO & ".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
 
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 pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Henry

crea carpeta pero si ya existe que la abra

Publicado por Henry (37 intervenciones) el 07/07/2011 18:23:23
Aqui tienes un codigo para verificar la existencia del directorio

1
2
3
4
5
6
7
8
9
10
Dim Archivo, dir_actual
dir_actual = CurDir()      ' Raiz principal
 
ChDrive("C")       ' se coloca en C
ChDir("C:\ ")
Archivo = Dir("C:\FACTURACION", vbDirectory)    ' directorio o carpeta a crear
If Archivo = "" Then                     ' el directorio o carpeta no existe
	ChDir("C:\ ")                            'se coloca en C:\
	MkDir("FACTURACION")      ' se crea el directorio 
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
1
Comentar

crea carpeta pero si ya existe que la abra

Publicado por koke (5 intervenciones) el 08/07/2011 00:57:53
MUCHAS GRACIAS LO HE PROBADO POR ENCIMA Y FUNCIONA PERFECTAMENTE, CUANDO TENGA TODO EL CODIGO COMPLETO LO COLGARÉ PARA QUE LO PUEDA TENER QUIEN LO NECESITE.

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

crea carpeta pero si ya existe que la abra

Publicado por koke (5 intervenciones) el 13/07/2011 17:45:15
lo he probado y funciona, lo único es que si quiero hacerlo en un equipo que está en red???
trabajando en local si que funciona... pero necesito hacerlo en red....
¿?
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