J'ai un modèle Word avec des signets. Ces signets extraient des données d'une application de base de données Access via le code VBA.Modèle de marque-pages Word utilisant les données Access
On Error GoTo ErrHandler
Me.Recalc
If Me!txtCount = 0 Then
MsgBox "Please select a record to print.", vbOKOnly, "Error"
Else
Dim oWord As Object 'Word.Application
Dim doc As Object 'Word.Document
Set oWord = CreateObject("Word.Application")
Set doc = oWord.Documents.Open("C:\Request_Template.doc")
oWord.Visible = True
Dim oAccess As Object
Dim dbs As Database
Dim rst As Recordset
Dim strCriteria As String
With oWord.ActiveDocument
If .Bookmarks.Exists("DatePage1") = True Then
.Bookmarks("DatePage1").Select
If Not IsNull([Forms]![frmForRequest_Preview]!Date) Then
oWord.selection.Text = (CStr(Format([Forms]![frmForRequest_Preview]!Date, "mmm d, yyyy")))
Else
oWord.selection.Text = ""
End If
End With
End If
Exit Sub
ErrHandler:
MsgBox Err.Number & ": " & Err.Description, vbOKOnly, "Error"
La question est de savoir comment ouvrir une copie du modèle pour permettre à l'utilisateur de cliquer sur « Enregistrer » après avoir examiné le document? Pour l'instant, le modèle d'origine est utilisé et l'utilisateur doit effectuer "Enregistrer sous". Ce n'est pas pratique.
Vous pouvez ajouter 'doc.SaveAs (somepathHere)' immédiatement après l'avoir ouvert à partir du modèle. Mais vous devrez alors gérer le cas où l'utilisateur * n'a pas voulu le sauvegarder. –