Guardar archivo

Hola
He creado un formulario que incluye un botón.Este botón sirve para crear un archivo en Word de un informe que tengo.
¿Cómo se puede conseguir dónde quieres guardarlo y que por defecto,tome como nombre ,por ejemplo el de un campo cualquiera del formulario?
Gracias
Respuesta
1
Checa el siguiente código:
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim i As Integer, j As Integer
Dim NewResult As String
On Error GoTo ErrHandler
ReDim UsedVariables(0)
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open(App.Path & "\contratos\" & strFile)
' WordApp.Visible = True
Select Case iQueContrato
Case 1 ' Se Trata de Contratos de Colaboración Mutua
For i = 1 To rs.Fields.Count - 2
If WordDoc.Fields(i).Type = wdFieldDocVariable Then
If Not IsNull(rs.Fields(i - 1)) Then
WordDoc.Fields(i).Result.Text = rs.Fields(i - 1)
End If
End If
Next
' se inserta la fecha de emisión del contrato
' día
WordDoc.Fields(26).Result.Text = Day(Date)
' mes
WordDoc.Fields(27).Result.Text = Transforma_Mes(Month(Date))
' año
WordDoc.Fields(28).Result.Text = Year(Date)
' objeto social
WordDoc.Fields(29).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(29).Result.Text = rs.Fields("objSocial")
' la firma del organizador
WordDoc.Fields(30).Result.Text = rs.Fields("Apoderado")
' WordDoc.Fields(30).Result.Text = rs.Fields("proveedor")
' la firma del autorizador
WordDoc.Fields(31).Result.Text = cboAutoriza.Text
' tercera hoja
' objeto social
WordDoc.Fields(32).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(32).Result.Text = rs.Fields("objSocial")
' representante
WordDoc.Fields(33).Result.Text = rs.Fields("Apoderado")
' visa
WordDoc.Fields(34).Result.Text = cboAutoriza.Text
Case 3 ' Se Trata de Contratos de Patrocinio
For i = 1 To rs.Fields.Count - 2
If WordDoc.Fields(i).Type = wdFieldDocVariable Then
If Not IsNull(rs.Fields(i - 1)) Then
WordDoc.Fields(i).Result.Text = rs.Fields(i - 1)
End If
End If
Next
' se inserta la fecha de emisión del contrato
' día
WordDoc.Fields(26).Result.Text = Day(Date)
' mes
WordDoc.Fields(27).Result.Text = Transforma_Mes(Month(Date))
' año
WordDoc.Fields(28).Result.Text = Year(Date)
' objeto social
WordDoc.Fields(29).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(29).Result.Text = rs.Fields("objSocial")
' la firma del organizador
WordDoc.Fields(30).Result.Text = rs.Fields("Apoderado")
' WordDoc.Fields(30).Result.Text = rs.Fields("proveedor")
' la firma del autorizador
WordDoc.Fields(31).Result.Text = cboAutoriza.Text
' tercera hoja
' objeto social
WordDoc.Fields(32).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(32).Result.Text = rs.Fields("objSocial")
' representante
WordDoc.Fields(33).Result.Text = rs.Fields("Apoderado")
' visa
WordDoc.Fields(34).Result.Text = cboAutoriza.Text
Case 4 ' Se Trata de Contratos de Publicidad Masiva
For i = 1 To rs.Fields.Count - 2
If WordDoc.Fields(i).Type = wdFieldDocVariable Then
If Not IsNull(rs.Fields(i - 1)) Then
WordDoc.Fields(i).Result.Text = rs.Fields(i - 1)
End If
End If
Next
' se inserta la fecha de emisión del contrato
' día
WordDoc.Fields(26).Result.Text = Day(Date)
' mes
WordDoc.Fields(27).Result.Text = Transforma_Mes(Month(Date))
' año
WordDoc.Fields(28).Result.Text = Year(Date)
' objeto social
WordDoc.Fields(29).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(29).Result.Text = rs.Fields("objSocial")
' la firma del organizador
WordDoc.Fields(30).Result.Text = rs.Fields("Apoderado")
' WordDoc.Fields(30).Result.Text = rs.Fields("proveedor")
' la firma del autorizador
WordDoc.Fields(31).Result.Text = cboAutoriza.Text
' tercera hoja
' objeto social
WordDoc.Fields(32).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(32).Result.Text = rs.Fields("objSocial")
' representante
WordDoc.Fields(33).Result.Text = rs.Fields("Apoderado")
' visa
WordDoc.Fields(34).Result.Text = cboAutoriza.Text
Case 5 ' Se Trata de Contratos de Publicidad Medios Impresos
For i = 1 To rs.Fields.Count - 2
If WordDoc.Fields(i).Type = wdFieldDocVariable Then
If Not IsNull(rs.Fields(i - 1)) Then
WordDoc.Fields(i).Result.Text = rs.Fields(i - 1)
End If
End If
Next
' se inserta la fecha de emisión del contrato
' día
WordDoc.Fields(26).Result.Text = Day(Date)
' mes
WordDoc.Fields(27).Result.Text = Transforma_Mes(Month(Date))
' año
WordDoc.Fields(28).Result.Text = Year(Date)
' objeto social
WordDoc.Fields(29).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(29).Result.Text = rs.Fields("objSocial")
' la firma del organizador
WordDoc.Fields(30).Result.Text = rs.Fields("Apoderado")
' WordDoc.Fields(30).Result.Text = rs.Fields("proveedor")
' la firma del autorizador
WordDoc.Fields(31).Result.Text = cboAutoriza.Text
' tercera hoja
' objeto social
WordDoc.Fields(32).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(32).Result.Text = rs.Fields("objSocial")
' representante
WordDoc.Fields(33).Result.Text = rs.Fields("Apoderado")
' visa
WordDoc.Fields(34).Result.Text = cboAutoriza.Text
Case 6 ' Se Trata de Contratos de Publicidad Medios Radiofónicos
For i = 1 To rs.Fields.Count - 2
If WordDoc.Fields(i).Type = wdFieldDocVariable Then
If Not IsNull(rs.Fields(i - 1)) Then
WordDoc.Fields(i).Result.Text = rs.Fields(i - 1)
End If
End If
Next
' se inserta la fecha de emisión del contrato
' día
WordDoc.Fields(26).Result.Text = Day(Date)
' mes
WordDoc.Fields(27).Result.Text = Transforma_Mes(Month(Date))
' año
WordDoc.Fields(28).Result.Text = Year(Date)
' objeto social
WordDoc.Fields(29).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(29).Result.Text = rs.Fields("objSocial")
' la firma del organizador
WordDoc.Fields(30).Result.Text = rs.Fields("Apoderado")
' WordDoc.Fields(30).Result.Text = rs.Fields("proveedor")
' la firma del autorizador
WordDoc.Fields(31).Result.Text = cboAutoriza.Text
' tercera hoja
' objeto social
WordDoc.Fields(32).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(32).Result.Text = rs.Fields("objSocial")
' representante
WordDoc.Fields(33).Result.Text = rs.Fields("Apoderado")
' visa
WordDoc.Fields(34).Result.Text = cboAutoriza.Text
Case 7 ' Se Trata de Contratos de Servicios de Impresión
For i = 1 To rs.Fields.Count - 2
If WordDoc.Fields(i).Type = wdFieldDocVariable Then
If Not IsNull(rs.Fields(i - 1)) Then
WordDoc.Fields(i).Result.Text = rs.Fields(i - 1)
End If
End If
Next
' se inserta la fecha de emisión del contrato
' día
WordDoc.Fields(26).Result.Text = Day(Date)
' mes
WordDoc.Fields(27).Result.Text = Transforma_Mes(Month(Date))
' año
WordDoc.Fields(28).Result.Text = Year(Date)
' objeto social
WordDoc.Fields(29).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(29).Result.Text = rs.Fields("objSocial")
' la firma del organizador
WordDoc.Fields(30).Result.Text = rs.Fields("Apoderado")
' la firma del autorizador
WordDoc.Fields(31).Result.Text = cboAutoriza.Text
' tercera hoja
' la firma del organizador
WordDoc.Fields(32).Result.Text = rs.Fields("proveedor")
' WordDoc.Fields(32).Result.Text = rs.Fields("objSocial")
' representado por
WordDoc.Fields(33).Result.Text = rs.Fields("Apoderado")
' la firma del autorizador
WordDoc.Fields(34).Result.Text = cboAutoriza.Text
End Select
' lock the document to stop changes
' WordDoc.Protect wdAllowOnlyComments, , "jd837djh82"
WordDoc.SaveAs App.Path & "\previo\" & strAux & ".doc"
WordDoc.Close
WordApp.Quit
Set WordDoc = Nothing
Set WordApp = Nothing
De ahí puedes adaptar lo que quieras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas