Bonjour à tous,
Je reviens vers vous pour un peu d’aide concernant toujours mon petit programme avec base de données.
Ayant eu une année assez mouvementé niveau santé j’avais mis de côté le projet. Sorti de là je me suis remis dessus et je me suis aperçu qu’utiliser Word c’était bien mais que dès que je change de PC ou de version Word ça plante, même entre deux versions identique j’ai des problèmes.
J’ai donc réfléchis à la chose et en suis arrivé à la conclusion suivante, comme je n’utilise le traitement de texte uniquement pour remplir des contrats pré écrit, pourquoi ne pas utiliser le Wordpad qui est fourni avec Windows et donc gratuit. Seulement voilà je n’ai pas trouvé la possibilité comme avec Word de communiquer avec. Pour contourner le problème j’ai donc créé une WindowsForm dans laquelle j’ai installé un RicTextBox qui me serre de tampon.
Voilà comment je procède :
-
Je remplis la RicTextBox en chargent un contrat vierge.
-
Une fois rempli je sauve le fichier dans un dossier qui se trouve dans mes documents.
-
J’ouvre Wordpad et je recharge le document pour pouvoir faire d’éventuelles modifications et enregistrer le document.
J’ai deux soucis avec cette méthode :
-
Le premier : Avec Word je chargé une image que j’avais au préalablement enregistré dans un dossier « SaveImage » dans mes documents, et pour la placer sur le document Word j’utilisé un BookMark, mais avec RicTextBox ça ne fonctionne pas la seule façon de charger une image est de faire un copié collé, j’ai bien trouvé comment insérer une image par copié collé mais je ne sais pas comment automatiser la chose pour remplir le contrat automatiquement. L'idée serait de mettre une marque dans le document et de remplacer cette marque par l’image au moment du chargement, donc ouvrir le dossier ou se trouve l’image et la copier et ensuite la coller à la place de la marque.
-
Le deuxième : j’ai beau essayé de charger le fichier créé dans WordPad, mais à chaque fois VB plante en me disant qu’il ne trouve pas le chemin alors que c’est exactement le même que celui où je l’ai enregistré, je ne comprends pas ce qui peux se passer, pour vous rendre compte je vous mets le code du bouton qui fait tout ça.
- Code:
Sub Btn_ChargeContrat_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles Btn_ChargeContrat.Click[/size]
'Simule un clic sur tous les tabpages avant
de remplacer sinon ça marche que sur le tabpage courant!
'Mais aussi sur la form maitre d'oeuvre
'Form_Principale.TabControl1.SelectTab(1)
Form_Principale.TabControl1.SelectTab(2)
Form_Principale.TabControl1.SelectTab(3)
Form_Principale.TabControl1.SelectTab(4)
Form_Principale.TabControl1.SelectTab(5)
Form_MO.Show()
Form_MO.Hide()
'Je vide la richtextbox
Rtb_Contrat.Clear()
'Je charge le document vierge
Dim chemin_doc As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Rtb_Contrat.LoadFile(chemin_doc & "\Contrat_MO.rtf")
'Je remplie le document vierge
ChercheRemplace()
'Je sauve le contrat dans le dossier
Rtb_Contrat.SaveFile(chemin_doc & "\Contrat_MO.rtf")
'Je ferme la form Traitement de texte qui m'a servi à écrire
le contrat
Me.Close()
'Fichier à ouvrir avec l'executable[/size]
Process.Start("Write.exe",chemin_doc & "\Contrat_MO.rtf")
'Je place la form sous le traitement de texte
Form_Principale[/size][size=13].TopMost =False
Voilà si quelqu’un a une idée du pourquoi je n’arrive pas à ouvrir le fichier créé et comment insérer l’image au bon endroit je lui serai reconnaissant.
ps: je n'ai pas créé de nouveau topique car mon problème est toujours le chemin d'accès qui me pose des ennuis.