none
VBNET 2010 EXPRESS ET WORD 2003 RRS feed

  • Discussion générale

  • Bonjour, je developpe un progiciel sous VBNet 2010 Express, mes contraintes sont de travailler sous framework 2.0 voir 3.5 (reseaux d'entreprise XP pro), je manipule Word via un service Interop avec le DLL Wersion 12. Cela fonctionne bien avec Windows 7, Office 2007, par contre sous XP Pro avec Office 2003 cela ne fonctionne pas (Je fais pareil sous Excel, ca marche pourtant).

     

     

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.
    
    ************** Exception Text **************
    System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
     at Microsoft.Office.Interop.Word.Documents.Open(Object& FileName, Object& ConfirmConversions, Object& ReadOnly, Object& AddToRecentFiles, Object& PasswordDocument, Object& PasswordTemplate, Object& Revert, Object& WritePasswordDocument, Object& WritePasswordTemplate, Object& Format, Object& Encoding, Object& Visible, Object& OpenAndRepair, Object& DocumentDirection, Object& NoEncodingDialog, Object& XMLTransform)
     at xxxx.FRMLType.PrintWord(String DocPath)
     at xxxx.FRMLType.BNPrint_Click(Object sender, EventArgs e)
     at System.Windows.Forms.Control.OnClick(EventArgs e)
     at System.Windows.Forms.Button.OnClick(EventArgs e)
     at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
     at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
     at System.Windows.Forms.Control.WndProc(Message& m)
     at System.Windows.Forms.ButtonBase.WndProc(Message& m)
     at System.Windows.Forms.Button.WndProc(Message& m)
     at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
     at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
     at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** Loaded Assemblies **************
    mscorlib
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///c:/WINNT/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    CRCCompagnon
     Assembly Version: 1.0.0.0
     Win32 Version: 1.0.0.0
     CodeBase: file:///C:/Documents%20and%20Settings/XXX/Mes%20documents/XXXX/XXXX.exe
    ----------------------------------------
    Microsoft.VisualBasic
     Assembly Version: 8.0.0.0
     Win32 Version: 8.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Windows.Forms
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Runtime.Remoting
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    System.Data
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    System.Xml
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Transactions
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
    ----------------------------------------
    System.EnterpriseServices
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
    ----------------------------------------
    System.Configuration
     Assembly Version: 2.0.0.0
     Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
     CodeBase: file:///C:/WINNT/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    Microsoft.Office.Interop.Word
     Assembly Version: 12.0.0.0
     Win32 Version: 12.0.6425.1000
     CodeBase: file:///C:/Documents%20and%20Settings/XXXXX/Mes%20documents/XXXXXX/Microsoft.Office.Interop.Word.DLL
    ----------------------------------------
    
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    
    For example:
    
    <configuration>
     <system.windows.forms jitDebugging="true" />
    </configuration>
    
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

     

    J'ai mis un mode d ouverture en read only et sans mais ca n'ouvre toujours pas mon fichier.

    J'utilise les codes de la page http://dotnet.developpez.com/sources/vbnet/?page=office .

     


    jeudi 28 juillet 2011 14:41

Toutes les réponses

  • Voici le code que j'utilise :

     

    Imports Microsoft.Office.Interop
    Imports Microsoft.Office.Interop.Word
    
    Public Sub PrintWord(ByVal DocPath As String)
        Dim AWord As Word.Application
        AWord = New Word.Application
        
    
        Dim AWDoc As New Word.Document
        AWDoc = AWord.Documents.Open(DocPath, [ReadOnly]:=False)
    
        AWord.Visible = True
        AWord.ShowMe()
        AWDoc.Activate()
        AWord.Selection.Find.ClearFormatting()
        AWord.Selection.Find.Text = "{Civilité}"
        AWord.Selection.Find.Execute()
        AWord.Selection.Move(Word.WdUnits.wdWord, 0)
        If RBMDE.Checked = True Then
          AWord.Selection.TypeText("Mde")
        ElseIf RBMLE.Checked = True Then
          AWord.Selection.TypeText("Mlle")
        ElseIf RBMr.Checked = True Then
          AWord.Selection.TypeText("Mr")
        End If
    .....
    
        AWDoc.PrintOut()
    
        AWDoc.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
        AWord.Quit()
    end sub
    
    


    jeudi 28 juillet 2011 17:52
  • Bonjour,

     

    Faire une propriété sur l'assembli et propriété mettre a True Copie local

    (sur Microsoft.Office.Interop.Word.DLL)

     

    A bientot


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    lundi 1 août 2011 19:50
    Auteur de réponse
  • Bonjour, Schaze05,

     

    Est-ce que vous avez testé la solution proposée ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

     

    Cordialement,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 3 août 2011 06:38
  • Bonjour, oui j'avait déjà testé avant et ca ne marche pas !

    J'arrive à faire ouvrir Word mais il n'ouvre aucuns fichiers.

    jeudi 4 août 2011 06:35
  • Bonjour,

    Avez vous essayé aussi de passé toutes les Assemblies qui ce trouve dans "Loaded Assemblies" au niveau de votre message d'erreur a copie local ?

    Il me semble que la version installer d'office, pour que ça fonctionne, compte beaucoup. Il faut absolument avoir la meme installation d'Office là ou sera executé le programme, ou alors il faut faire un developpement pour chaque version et faire une detection de version d'Office.

     

    A bientôt


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    jeudi 4 août 2011 07:30
    Auteur de réponse
  • J'ai mis toutes les DLL en copies dans le dossier l'application et office 2003 est installé sur les machines ou je démultipie ce progiciel.

    La version de la DLL est certe differente mais cela marche très bien pour Excel.
    jeudi 4 août 2011 07:41
  • Donc c'est peut être un problème de prise en charge du Framework dans office

    Il faut aller voir dans installation personnaliser(dans office) pour activer la prise en charge du Framework

     


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    jeudi 4 août 2011 08:17
    Auteur de réponse
  • Faut que je regarde ca avec le technicien reseau de ma societe, je re-post, dès que l'on a vérifier. Merci.
    jeudi 4 août 2011 08:46
  • Pas de problème, tenez moi au courant :)

     

    A bientôt


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    jeudi 4 août 2011 09:06
    Auteur de réponse
  • Bonjour,

    Xavier a raison : la version office utilisée est très importante et il faut en tenir compte. Il y a des utilisateurs qui ont résolu l’erreur par réinstaller l’Office, mais si le problème est apparu sur plusieurs ordinateurs je crois que ce n’est pas une solution viable pour vous. Puis, il y a beaucoup des discussions sur cette erreur sur les forums des Etats-Unis, mais si vous ne pouvez pas avancer peut-être la solution de Jim Wooley sur ce thread vous aidera.

     

    Merci d’avance de tenir la communauté informée sur la suite de vos démarches.

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    jeudi 4 août 2011 10:11
  • Bon mon technicien m'informe que nous sommes sous CREFT (installation office d'entreprise limitée), donc on est pas sur que l'on puisse resoudre cela sachant que sur Excel, j'ai pas ce soucis. (ma routine doit se faire par Word obligatoirement en plus.).

    Bref, je ferais un point plus tard, merci.


    jeudi 4 août 2011 12:57
  • Pour les installations limitées d'Office ce sont administrateurs applicatif qui l'ont décider ainsi ? (je connais pas CREFT, j'ai recherché vite fait sur le net j'ai rien trouvé)

    Il me semble pas que l'option Frameword dans une installation limitée soit bridé avec une version Entreprise.

    Il y a un moyen simple de savoir si l'application a l'option dans l'une ou l'autre, il faut aller dans ajout suppression de programmes et rechercher a version d'office concerner, choisir l'option modifier et voir si dans Excel ou Word y a l'option Framework dans la personnalisation ...

    Comme l'a dit Ciprian sa ce trouve le problème ne viens, peut être, pas de là, mais a essayer quand même


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    jeudi 4 août 2011 13:44
    Auteur de réponse
  • Bonjour,

    Avez vous trouvé une solution ? Merci de partager avec nous les résultats,afin que d'autres personnes avec le même problème puissent profiter de cette solution.


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 4 août 2011 17:53
  • Les CREFT c'est interne à ma société donc vérrouillée pour des raisons de sécurité et de stabilité (entreprise nationnale de plus de 280 000 employés).

    C'est un genre de ghost qui comprends l'OS modifié et une install spécifique, je ne peut pas voir les options d'installations dans ce cas.

    Je regarde pour récupérer une vesion mais ca reste assez complexe :P

    vendredi 5 août 2011 09:20
  • Bonjour Schaze05

     

    Dans tout les cas vous pouvez, peut être, essayer chez vous avec une version entreprise voir si ça fonctionne ?

    Comme ça vous serez si ça viens d'un problème de limitation de l'installation de l'entreprise.

     


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    vendredi 5 août 2011 10:00
    Auteur de réponse
  • La version ne peut être mis ailleurs que sur notre réseau.
    vendredi 5 août 2011 11:21