IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Comment avoir accès à "MS office 12.0 Object Library" avec Runtime Access 2007 ? [AC-2007]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité Bull
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 91
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité Bull

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Comment avoir accès à "MS office 12.0 Object Library" avec Runtime Access 2007 ?
    Bonjour
    Question :
    Comment avoir accès à "MS office 12.0 Object Library" avec Runtime Access 2007 ?
    Problème :
    Une fonction de mon appli conduit à la fermeture d’Access avec l’erreur :
    Citation Envoyé par Aide Access
    Cette application a été arrêté à cause d’une erreur d’exécution.
    Fonctionne normalement sur mon PC avec Access 2007 / Windows 7.
    Condition d’utilisation :
    Traitement d’un fichier .csv avec FreeFile, Open, Input #, Etc...
    Base non divisée
    (Même erreur sur mon PC si je décoche la Références ci-dessus.)

    Merci et bravo pour votre travail.
    Yves (absent des forums depuis 15 ans)

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Voir si vous ne pouvez pas piocher quelque chose dans ce bout de code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    '--- normalement les "connexions" aux librairies se font sans intervention
    '--- et s'adaptent automatiquement à la suite Office installée sur le pc (12.0 ou 14.0)
    '--- mais blocage possible si une référence manque, par exemple Outlook
     
    '###    NE MARCHE PAS QUAND ON DESCEND DE 14.0 à 12.0    ###
    '---    et inutile quand on monte de 12.0 à 14.0         ---
     
    Public Sub AjoutRef()
       '--- vérifie la présence des "références" nécessaires au bon fonctionnement de cette application
       '--- y compris pour piloter Word, Excel et Outlook
       Dim chV As String
       On Error Resume Next '--- erreur si Référence déjà active
       '--- A --- références liées au système
          '--- références normalement déjà actives par défaut
          AjouterCetteRef "VBA", "C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6.DLL"
          AjouterCetteRef "stdole", "C:\WINDOWS\system32\STDOLE2.TLB"       '--- OLE Automation
          '--- références complémentaires fonctionnalités de messagerie autre que Outlook
          AjouterCetteRef "CDO", "C:\WINDOWS\system32\cdosys.dll"           '---  CDO = Collaboration Data Objects
          '--- références complémentaires fonctionnalités raccourci sur le bureau --- utile ?
          'AjouterCetteRef "IWshRuntimeLibrary", "C:\Windows\system32\wshom.ocx"
          '--- références complémentaires --- utile ?
          '--- http://www.solvusoft.com/fr/files/manquant-introuvable-erreur/dll/windows/microsoft/windows-xp/comsnap-dll/
          'AjouterCetteRef "COMSNAPLib", "C:\WINDOWS\system32\comsnap.dll"  '--- COM système d'exploitation Windows
       '--- B --- références liées à la version de la suite Office
          chV = "Office" & Left(Application.Version, 2)
          '--- références complémentaires fonctionnalités Office
          AjouterCetteRef "Office", "C:\Program Files\Fichiers communs\Microsoft Shared\" & chV & "\MSO.DLL"
          If Len(DDir("C:\Program Files (x86)\Microsoft Office\" & chV, vbDirectory)) > 3 Then
             chV = "C:\Program Files (x86)\Microsoft Office\" & chV
          Else
             chV = "C:\Program Files\Microsoft Office\" & chV
          End If
          chV = chV & "\"
          AjouterCetteRef "Access", chV & "MSACC.OLB"
          AjouterCetteRef "DAO", chV & "ACEDAO.DLL"
          '--- références complémentaires fonctionnalités Word
          AjouterCetteRef "Word", chV & "MSWORD.OLB"
          '--- références complémentaires fonctionnalités Excel
          AjouterCetteRef "Excel", chV & "EXCEL.EXE"
          '--- références complémentaires fonctionnalités Outlook
          AjouterCetteRef "Outlook", chV & "MSOUTL.OLB"
       On Error GoTo 0
    End Sub
     
    Private Sub AjouterCetteRef(refName As String, refPath As String)
       Dim r As Reference
       For Each r In References
          If r.Name = refName Then
             Debug.Print "Installé: ", r.Name, r.FullPath
             Exit Sub
          End If
       Next r
       Debug.Print "Ajouté: ", refName, refPath
       References.AddFromFile refPath
    End Sub
    Cdt

  3. #3
    Candidat au Club
    Homme Profil pro
    Retraité Bull
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 91
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité Bull

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Merci
    Bonjour et merci pour votre réponse.
    Je vais étudier et communiquer mon résultat.
    Yves

  4. #4
    Candidat au Club
    Homme Profil pro
    Retraité Bull
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 91
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité Bull

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Comment utiliser avec Runtime ?
    Bonjour EricDgn. Peu disponible ces derniers jours, j’essaie seulement maintenant votre code.
    OK sur mon PC avec version complète.
    Comment utiliser sur Runtime, n’ayant accès à VBA qu’à travers Excel ou Word.
    Dans ce cas, j’ai l’erreur "Dim r as Référence non défini". Que faire.
    Merci.

  5. #5
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Une idée comme ça, non vérifiée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub AjouterCetteRef(refName As String, refPath As String)
       Dim r As Access.Reference
       For Each r In Access.References
          If r.Name = refName Then
             Debug.Print "Installé: ", r.Name, r.FullPath
             Exit Sub
          End If
       Next r
       Debug.Print "Ajouté: ", refName, refPath
       Access.References.AddFromFile refPath
    End Sub
    Il est aussi possible que quelque chose de ce genre fonctionne (voir ce post), non testé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub AjoutRefOffice()
       If Dir("C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\MSO.DLL") = "" Then
          MsgBox "Librairie MSO.DLL non disponible", vbCritical, "Anomalie"
       Else
          Access.References.AddFromFile ("C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\MSO.DLL")
       End If
    End Sub
    Cdt

  6. #6
    Candidat au Club
    Homme Profil pro
    Retraité Bull
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 91
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité Bull

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Gros progrès.
    Dans mon dernier post, je me suis mal exprimé.
    Je me demandais comment exécuter le code que vous m’avez fourni avec le Runtime, celui-ci ne me donnant pas accès à VBA.
    Voici ce que j’ai fait :
    1- Inséré le code à la fin de l’appli.
    2- Doublé les 2 "debug.print" par des "MsgBox" pour permettre le suivi avec le Runtime.
    3- Mis une macro pour lancer la fonction.
    4- Essai sur Runtime.
    5- Résultat OK. Bravo et merci. L’appli permet maintenant d’importer les CSV et de faire l’ensemble du traitement comme avec Access.
    (Je n’ai pas eu besoin de faire usage de vos propositions d’hier)

    Autre souci du même genre, mais de moindre importance car j’ai la parade :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OutputTo acOutputReport, "Fichier de sortie", "PDF", "C:\  ... ", False
    Donc export en PDF qui est très pratique dans Access. Non supporté par Runtime.
    Avez-vous une solution à me proposer ?

    Ma parade actuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "Fichier de sortie", acViewPreview
    Puis export en PDF via menu du Runtime. C’est beaucoup moins pratique.

    Merci beaucoup, vous m’avez bien dépanné.
    Amitiés.
    Yves

  7. #7
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,
    Pour bien faire il faudrait indiquer le 1er problème résolu et ouvrir une autre discussion pour le 2e problème.
    Pour ce dernier, il faudrait voir s'il ne faudrait pas indiquer acFormatPDF au lieu de "PDF" (voir ce lien)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OutputTo acOutputReport, "Fichier de sortie", acFormatPDF, "C:\  ... ", False
    Bonne continuation.

  8. #8
    Candidat au Club
    Homme Profil pro
    Retraité Bull
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 91
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité Bull

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Merci
    Bonjour,
    Je vais donc mettre Résolu et faire l’essai que vous me proposez.
    Si nécessaire, j’ouvrirai une autre discussion. C’est la première fois depuis ... 15 ans.
    Merci pour tout.
    Amitiés.
    Yves

  9. #9
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    Bonjour,

    Voir si vous ne pouvez pas piocher quelque chose dans ce bout de code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    '--- normalement les "connexions" aux librairies se font sans intervention
    '--- et s'adaptent automatiquement à la suite Office installée sur le pc (12.0 ou 14.0)
    '--- mais blocage possible si une référence manque, par exemple Outlook
     
    '###    NE MARCHE PAS QUAND ON DESCEND DE 14.0 à 12.0    ###
    '---    et inutile quand on monte de 12.0 à 14.0         ---
     
    Public Sub AjoutRef()
       '--- vérifie la présence des "références" nécessaires au bon fonctionnement de cette application
       '--- y compris pour piloter Word, Excel et Outlook
       Dim chV As String
       On Error Resume Next '--- erreur si Référence déjà active
       '--- A --- références liées au système
          '--- références normalement déjà actives par défaut
          AjouterCetteRef "VBA", "C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6.DLL"
          AjouterCetteRef "stdole", "C:\WINDOWS\system32\STDOLE2.TLB"       '--- OLE Automation
          '--- références complémentaires fonctionnalités de messagerie autre que Outlook
          AjouterCetteRef "CDO", "C:\WINDOWS\system32\cdosys.dll"           '---  CDO = Collaboration Data Objects
          '--- références complémentaires fonctionnalités raccourci sur le bureau --- utile ?
          'AjouterCetteRef "IWshRuntimeLibrary", "C:\Windows\system32\wshom.ocx"
          '--- références complémentaires --- utile ?
          '--- http://www.solvusoft.com/fr/files/manquant-introuvable-erreur/dll/windows/microsoft/windows-xp/comsnap-dll/
          'AjouterCetteRef "COMSNAPLib", "C:\WINDOWS\system32\comsnap.dll"  '--- COM système d'exploitation Windows
       '--- B --- références liées à la version de la suite Office
          chV = "Office" & Left(Application.Version, 2)
          '--- références complémentaires fonctionnalités Office
          AjouterCetteRef "Office", "C:\Program Files\Fichiers communs\Microsoft Shared\" & chV & "\MSO.DLL"
          If Len(DDir("C:\Program Files (x86)\Microsoft Office\" & chV, vbDirectory)) > 3 Then
             chV = "C:\Program Files (x86)\Microsoft Office\" & chV
          Else
             chV = "C:\Program Files\Microsoft Office\" & chV
          End If
          chV = chV & "\"
          AjouterCetteRef "Access", chV & "MSACC.OLB"
          AjouterCetteRef "DAO", chV & "ACEDAO.DLL"
          '--- références complémentaires fonctionnalités Word
          AjouterCetteRef "Word", chV & "MSWORD.OLB"
          '--- références complémentaires fonctionnalités Excel
          AjouterCetteRef "Excel", chV & "EXCEL.EXE"
          '--- références complémentaires fonctionnalités Outlook
          AjouterCetteRef "Outlook", chV & "MSOUTL.OLB"
       On Error GoTo 0
    End Sub
     
    Private Sub AjouterCetteRef(refName As String, refPath As String)
       Dim r As Reference
       For Each r In References
          If r.Name = refName Then
             Debug.Print "Installé: ", r.Name, r.FullPath
             Exit Sub
          End If
       Next r
       Debug.Print "Ajouté: ", refName, refPath
       References.AddFromFile refPath
    End Sub
    Cdt
    Bonsoir EricDgn,
    je viens de placer votre code ci dessus dans le module d'un formulaire,
    voici l'erreur qui s'affiche après la compilation:

    Nom : AC-2007 Comment avoir accès_à_MS office 12_0 Object_Library_ avec Runtime Access 2007.JPG
Affichages : 751
Taille : 123,3 Ko

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    je pense que c'est une faute de frappe, essaie Dir à la place de DDir
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    je pense que c'est une faute de frappe, essaie Dir à la place de DDir
    Bonsoir tee_grandbois,
    J'ai effectué le changement, et ça marche!
    Merci infiniment.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/06/2008, 11h38
  2. Comment avoir accès à "Ses messages"
    Par idamarco dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 23/09/2007, 13h39
  3. Réponses: 17
    Dernier message: 15/04/2007, 12h28
  4. Réponses: 2
    Dernier message: 22/02/2007, 14h21
  5. [C++ 1.1] Comment avoir accès aux méthodes d'une dll ?
    Par jacklsurf dans le forum Framework .NET
    Réponses: 6
    Dernier message: 15/04/2006, 22h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo