Recuperer des signets word dans access

Résolu
Signaler
Messages postés
23
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008
-
Messages postés
23
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008
-
Bonjour, dans le cadre d'un stage en entreprise j'ai à effectuer une base de données sous Access. Cette BD doit aller chercher des valeurs de signet dans des documents word pour les incorporer dans ses tables, et doit par la suite remplir d'autre signet. J'ai fait ma base de données ainsi que l'interconnexion d'Access vers word mais pas l'inverse. Après avoir passé pas mal de temps dessus et a chercher sur le net, je viens demander de l'aide.

Quelqu'un pourrait-il m'aider svp?
Merci d'avance, nitro81

7 réponses

Messages postés
23
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008

Ce n'est pas grave. J'ai résolu mon problème, enfin on m'a aidé à le résoudre plutôt.. Merci quand même. En fait, j'ai supprimé les 9 caractères de gauche de manière à ce que ma variable soit à nouveau "normale".

Pour ceux que ça interesse, la commande est :
variable2 = Right(variable1, Len(variable1) - 9)
Donc on garde les caractères restant de droite : ((longueur totale) - (9 caractères de gauche))

Avant : FORMTEXT test

Après : test
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour

Que te manque t'il?

1- un code pour récupérer les signets inclus dans les documents
2- créer des signets dans les documents si tous les documents n'ont pas les signets attendus
3- une méthode de connexion Access depuis VBA : pour insérer dans Access les signets
4 - une méthode pour insérer automatiquement les ajouts manuels des signets des documents dans Access
Messages postés
23
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008

Bonjour, tout d'abord merci de répondre si vite à ma demande.

C'est la premiere méthode que je dois faire, récupérer les valeurs de signet contenu dans les documents.
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Function LireSignet(nom_Signet as string) as string
LireSignet=""
If ActiveDocument.Bookmarks.Exists(nom_Signet) Then
    LireSignet = ActiveDocument.Bookmarks(nom_Signet).Range.Text
End If
End Function

Function RechercherTousSignets()
Dim oBookmark
For Each oBookmark in ActiveDocument.Bookmarks
   ...
   valeur= LireSignet(oBookmark.Name)
Next
End Function
Messages postés
23
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008

Merci pour tes réponses, de mon côté, j'ai pas mal avancé. J'arrive à recupérer la valeur d'un signet et à la mettre dans ma table Access, mais elle s'affiche avec  FORMTEXT au début. Ex :  "FORMTEXT toto" .
Ce doit être un problème lié au type de variable récupérer par rapport au type de ma colonne ( qui est en type texte ).
Sais-tu comment y rémédier ??

Mon code :

Sub import_word()
   
    Dim WordApp As Word.Application
    Dim db As DAO.Database
    Dim Req As DAO.Recordset
    Dim cSQL As String
   
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    WordApp.Documents.Open ("chemin
\document.doc")
    Set db = CurrentDb
    Set Req = db.OpenRecordset("SELECT * FROM nom_table")
    Req.AddNew
   
    With WordApp
        Req(1) = .ActiveDocument.Bookmarks("nom_signet1").Range.Text
        Req(2) = .ActiveDocument.Bookmarks("nom_signet2").Range.Text
    End With
   
    cSQL = "UPDATE TEST SET colonne1='" & Req(1) & "' WHERE colonne2 ='valeur' "
    'requete SQL
    DoCmd.RunSQL cSQL   'execution de la requete SQL
   
    Req.Close
    Set Req = Nothing
    db.Close
    Set db = Nothing
    WordApp.Documents.Close
    WordApp.Quit
   
End Sub
Messages postés
23
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008

up
Quelqu'un peut m'aider svp ??
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
je n'avais pas vu et je t'avais oublié milles excuses

Req est un RecordSet
Req(1) est t'il une zone de ton formulaire de type Label ou Textbox

Si c'est un label

Req(1).caption = ActiveDocument.Bookmarks("nom_signet1")

si c'est un Textbox

Req(1).Text= ActiveDocument.Bookmarks("nom_signet1")