none
Utilisation de Word dans .net RRS feed

  • Discussion générale

  • Bonjour,

    je dois migrer un projet VB5 en VB.net, ce projet sert à ouvrir un document word, modifier des trucs dedans et enfin le refermer.

    Pour cela, j'ai ajouté la library 14 (j'ai office 2010)

    Voici le code que je souhaite utiliser :

    Imports Word = Microsoft.Office.Interop.Word
    Public Class Form1
    
        Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            Main() 'voir d'où le mettre par la suite
        End Sub
    
        Dim oWordApp As New Word.Application
        Dim docWord As New Word.Document
        Dim ForModif As Boolean
    
        Sub Main()
            Dim response As DialogResult
            Dim rapport As Decimal
            Dim slash, Croix, TailleX, TailleY, test As Integer
            Dim formImg, Image As String
            Dim Ctxt, NomProjet, RepIm, RepImx, RepSp, RepFi As String
            NomProjet = Command()
            If NomProjet.Contains("/MODIF") Then
                ForModif = True
                NomProjet = NomProjet.Substring(0, InStr(1, NomProjet, " /MODIF", vbTextCompare) - 1)
            Else
                ForModif = False
            End If
            Dim Contexte As String
            Dim MsgFin As String
    
            ''''''''''''''''''''''''''''''''''''VALEUR TEST'''''''''''''''''''''''''''''''''''''''''''
           NomProjet = "monDocTest.doc"
            ''''''''''''''''''''''''''''''''''''VALEUR TEST'''''''''''''''''''''''''''''''''''''''''''
    
    
            'oWordApp = CreateObject("Word.Application")
            '  oWordApp.Visible = True
            If NomProjet = "" Then
                Me.Close()
            Else
                If ForModif Then
                    If InStr(1, NomProjet, "\", vbTextCompare) > 0 Then
                        docWord = oWordApp.Documents.Open(NomProjet) 'cas de 'annonces' où nomprojet contient le chemin complet
                    Else
                        docWord = oWordApp.Documents.Open(RepFi & NomProjet)
                    End If
                    Exit Sub
                Else
                    Try
                        docWord = oWordApp.Documents.Open(RepFi + NomProjet)
                    Catch ex As Exception
                        Dim a As String = ""
                    End Try
    
                End If
    
    
            End If
    
        End Sub
    End Class

    Le souci c'est que j'arrive dans mon Exception, avec l'erreur :

    Impossible d'effectuer un cast d'un objet COM de type 'Microsoft.Office.Interop.Word.ApplicationClass' en type d'interface 'Microsoft.Office.Interop.Word._Application'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{00020970-0000-0000-C000-000000000046}' a échoué en raison de l'erreur suivante : Erreur lors du chargement de la bibliothèque/DLL du type. (Exception de HRESULT : 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

    Que faire?

    • Type modifié Aurel Bera mercredi 15 janvier 2014 07:31 disc
    mercredi 8 janvier 2014 16:26

Toutes les réponses