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

VBScript Discussion :

Pb avec Excel et les objets OLE


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Pb avec Excel et les objets OLE
    Bonjour,

    Je suis censé devoir insérer des fichiers dans mes documents Word et Excel à l'aide d'un code VbScript (commande dans office Insérer un Objet).
    pour word avec le code suivant je n'ai aucun problème :
    ***

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set MonWd = CreateObject("Word.Application")
    MonWd.Visible = True
    MonWd.Documents.Open "c:\toto.doc"
    MonWd.ActiveDocument.Bookmarks("ttt").Select
    MonWd.Selection.InsertAfter chr(10)
    MonWd.Selection.InlineShapes.AddOLEObject "Package","c:\test.xls", False, True, "", 0, "Fichier test"
    MonWd.Selection.InsertAfter chr(10)
    ***
    par contre avec excel j'arrive bien à insérer une image, mais pas un fichier :
    ***
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Set MonEx = CreateObject("Excel.Application")
    MonEx.Visible = True
    Set wbExcel = MonEx.Workbooks.Open("c:\test.xls")
    Set wbExcel=appExcel.ActiveWorkbook
    Set wsExcel=wbExcel.ActiveSheet
    wsExcel.Cells(2,1).Select
    wsExcel.Pictures.Insert("c:\test.JPG").Select
    wsExcel.Cells(20,1).Select
    ''marche pas'' wsExcel.Shapes.AddOLEObject(c:\toto.doc, true, true).select
    ''marche pas''wsExcel.OLEObjects.Add(filename="c:\toto.doc", link = false, displayasicon = true).Select
    ***


    Merci d'avance pour votre aide.

    Demis

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    tu peux tester


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Fichier As String
    '
    '...
    '
    '
    Fichier = "C:\Documents and Settings\michel\le document.doc"
     
    wsExcel.OLEObjects.Add Filename:=Fichier, _
        Link:=False, DisplayAsIcon:=True, IconIndex:=0, _
        IconLabel:=Fichier


    michel

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse Michel, mais cela ne fonctionne pas.

    Excel s'ouvre bien, mais le fichier n'est pas inséré.

    Demis

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Quelle ligne de code utilises tu pour insérer le fichier ? Et tu n'y arrives pas, cela veut dire que tu as une erreur généré par le script, ou tout se passe bien, mais le fichier ne se trouve pas insérer ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    supprime la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set wbExcel=appExcel.ActiveWorkbook

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé la suppression de la ligne, mais le résultat (inexistant) est le même.
    Théoriquement avec
    wsExcel.OLEObjects.Add(filename="c:\toto.doc", link = false, displayasicon = true).Select
    ca devrait marcher, c'est le code qui est généré quand j'enregistre une macro dans Excel qui fait l'insertion d'un fichier.

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    mais c'est un jpeg où un .doc que tu veux insérer dans ton classeur excel..?

    pour une image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Set MonEx = CreateObject("Excel.Application")
    MonEx.Visible = True
    Set wbExcel = MonEx.Workbooks.Open("c:\tmp\test.xls")
    Set wsExcel=wbExcel.ActiveSheet
    wsExcel.Cells(2,1).select
    wsExcel.Pictures.Insert("c:\tmp\DSC_00012.jpg")
    est OK...

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    C'est un fichier que je veux insérer. Dans mon premier message, j'expliquai que l'insertion d'un objet dans un signet de Word se faisait bien, l'insertion d'une image dans Excel se fait bien (comme tu l'indiques avec Pictures.Insert), par contre l'insertion d'un fichier ne marche pas.

    merci pour votre aide

  9. #9
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    un fichier possède un format bien particulier qui dépend de son extension. Pour l'insérer il faut définir son format. A la main sous word, tu ne peut pas insérer des fichiers de façon générique.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  10. #10
    Membre régulier
    Avatar de wape
    Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsExcel.OLEObjects.Add( , "C:\toto.doc", False, True, "C:\Program Files\Microsoft Office\office\winword.exe", 0, "C:\toto.doc").Select
    Le chemin de "winword.exe" est éventuellement à adapter. Ce fichier est juste utilisé pour y récupérer une icône de type "Word".


    wape

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    merci Wape,
    effectivement je récupère bien un fichier word (sous forme d'image) ou un fichier texte.

    Merci pour tout
    Demis

Discussions similaires

  1. [Toutes versions] Détecter via VBA les objets OLE dans un Word
    Par ORESYS dans le forum VBA Word
    Réponses: 3
    Dernier message: 04/10/2022, 17h42
  2. Les objets OLE d'Access et PostgreSQL
    Par V_inSe dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 13/08/2014, 14h32
  3. Réponses: 1
    Dernier message: 09/06/2010, 09h32
  4. Réponses: 8
    Dernier message: 12/07/2008, 12h29
  5. les objets ole
    Par tomas dans le forum Access
    Réponses: 1
    Dernier message: 02/02/2007, 13h42

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