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

Scripts/Batch Discussion :

Création classeur Excel sans office


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 75
    Par défaut Création classeur Excel sans office
    Bonjour à tous,

    Je rencontre quelques problèmes concernant la création du classeur ... Je travail sur un Windows server 2012 x64 sans office d'installé.
    J'ai installé "AccessDatabaseEngine_x64.exe" pour me permettre de palier l'installation d'office mais je butte sur la connexion.

    Voici mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`"$filename`";Extended Properties=`"Excel 12.0 Macro;HDR=YES`";"
    
    #Création du fichier excel
    $excel = New-Object -ComObject System.Data.OleDb.OleDbCommand($connstring)
    #$excel.visible = $True #Permet la visualisation du fichier en temps réel
    $workbook = $excel.Workbooks.Add()
    Et voici l'erreur retourné :
    New-Object : A positional parameter cannot be found that accepts argument 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source="\...";Extended Properties="Excel 12.0 Macro;HDR=YES";'.
    At C:\Maintenance\Script\Untitled3.ps1:48 char:10
    + $excel = New-Object -ComObject System.Data.OleDb.OleDbCommand($connstring)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: ( [New-Object], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewObjectCommand


    Pourriez-vous me conseiller ?
    Je débute encore donc si vous pouviez m'expliquer avec des détails ce serait cool

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut
    le code suivant n'est pas cohérent :
    Citation Envoyé par FloFlo12 Voir le message
    $excel = New-Object -ComObject System.Data.OleDb.OleDbCommand($connstring)
    Ici tu instancies un objet COM en spécifiant un nom de classe (type), alors que ce paramètre attend un ProgID :
    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Get-Help new-object -Parameter ComObject
    Get-Help new-object -Parameter Typename
    Dans ton cas utilise -TypeName.

    Deux conseils de base : ne pas hésiter à consulter la doc et apprendre à analyser une erreur/exception. Tu gagneras du temps.

Discussions similaires

  1. Dupliquer Classeur excel sans l'ouvrir
    Par altra dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2011, 16h30
  2. Désactiver les liens entre les classeurs Excel sans alerte
    Par flevielle dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/09/2007, 16h18
  3. Fermer Excel sans sauvegarder le classeur
    Par GonAl dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/08/2006, 13h32
  4. VB6 : création de feuilles dans un classeur Excel
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/11/2005, 17h37

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