elpaulo
Messages postés135Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention12 août 2008
-
10 juin 2005 à 15:35
elpaulo
Messages postés135Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention12 août 2008
-
10 juin 2005 à 17:03
Bonjour, amis du vb.
J'ai un problème. Je travaille sur une application access entièrement codée en vba et donc sans macros.
J'ai créé un formulaire qui contient des textbox rattachées aux données de certaines tables. Ce sont des informations sur l'etat civil d'un salarie.
J'ai donc par exemple un label avec ecrit "Nom : " et a coté une textbox que j'ai appelée TxtNomSalarie. Jusque la, pas d'embrouille.
Mais voila, on m'a demandé de faire en sorte de créer un fichier word qui contiendra ces informations (en gros, ca doit etre du publipostage).
Il faut donc par exemple que j'ai sur mon fichier word :
"Monsieur" ici, le nom du salarie en question "a effectué" ici, la tache qu'il a effectuée etc, etc...
Donc voila, si vous pouvez m'aider a faire ca en vba, parce que c'est plutot tendu du string ce truc!
Merci d'avance.
elpaulo
Messages postés135Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention12 août 2008 10 juin 2005 à 16:17
ouais, moi j'avais plus dans l'idée de créer d'abord un document-support avec tout le texte qui ne changera pas déja écrit, puis placer des signets aux endroits qui vont recevoir les données, et de programmer l'arrivée de ces données aux bons endroits en vba avec l'evenement clic du bouton imprimer que j'ai fait.
Est-ce une bonne idée? Est-ce réalisable? et comment?
peute51
Messages postés37Date d'inscriptionvendredi 1 octobre 2004StatutMembreDernière intervention21 juin 2007 10 juin 2005 à 16:25
voila il faut que tu es ton fichier word avec le publipostage cad le "nom" de ton salaries ou tu veux qu'il soit
il faut creer une requete ac les donnees que tu veux exporter:
'exportation des données vers un fichier excel
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel3, "requete 1", "E:\requete etat.xls", True
'ouvre word
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")
With wdApp
.Visible = True
'ouverture du fichier compta.doc
.Documents.Open "E:\compta.doc"
'realise le publipostage a partir du fichier excel
.ActiveDocument.MailMerge.Destination = wdSendToNewDocument
.ActiveDocument.MailMerge.Execute
.ActiveDocument.SaveAs "E:\ordonnances dupliquees\compta2.doc"
'impression
.PrintOut
.Documents("E:\ordonnances dupliquees\compta.doc").Close
.Documents("E:\ordonnances dupliquees\compta2.doc").Close
.Visible = True
.quit
End With
Set wdApp = Nothing
'suppression du fichier compta2.doc
Kill "E:\ordonnances dupliquees\compta2.doc"
en esperant que ca peut t'aider
tchao
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 10 juin 2005 à 16:57
Entre temps j'ai fait ça, et comme je ne veux pas l'avoir fait pour rien, je le mets qd même
Public Sub test(a_NomSalarie As String, a_Tache As String)
'Dim wdApp As Word.Application
'Dim wdDoc As Word.Document
Dim wdApp As Object
Dim wdDoc As Object
'Ouvre Word
'Set wdApp = New Word.Application
Set wdApp = CreateObject("Word.Application")
'Ouvre un document en se basant sur le template doc1.dot
Set wdDoc = wdApp.Documents.Add("c:\Doc1.dot")
With wdApp.Selection
'Se positionne sur le signet Nom
.GoTo -1, "Nom"
'Ecrit le nom du salarie
.TypeText a_NomSalarie
'Idem avec la tache
.GoTo -1, "Tache"
.TypeText a_Tache
End With
'Enregistre (sans ajouter à la liste des derniers fichiers ouverts
wdDoc.SaveAs "c:\test.doc", , , , False
'Ferme le doc
wdDoc.Close
'Quitte word
wdApp.Quit
'Détruit les objets
Set wdApp = Nothing
Set wdDoc = Nothing
End Sub
Public Sub test2()
test "toto", "qdsf"
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?