crea carpeta pero si ya existe que la abra
Publicado por KOKE (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´
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
0