Question

J'ai une application de test VB.net qui clique sur un lien qui ouvre la fenêtre de l'application Microsoft Word et affiche le document.Comment localiser la fenêtre de l’application Word afin de pouvoir y récupérer du texte ?

Était-ce utile?

La solution

Vous pouvez utiliser l'objet Word COM pour ouvrir le document de travail, puis le manipuler.Assurez-vous d'abord d'ajouter une référence pour Microsoft Word.

Imports System.Runtime.InteropServices
Imports Microsoft.Office.Interop.Word

Public Class Form1

Inherits System.Windows.Forms.Form

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim strFileName As String
Dim wordapp As New Microsoft.Office.Interop.Word.Application
Dim doc As Microsoft.Office.Interop.Word.Document

Try
    doc = wordapp.Documents.Open("c:\testdoc.doc")
    doc.Activate()

Catch ex As COMException

    MessageBox.Show("Error accessing Word document.")

End Try

End Sub

End Class

L'objet doc est un handle pour l'instance de Word que vous avez créée et vous pouvez utiliser toutes les options normales (enregistrer, imprimer, etc.).Vous pouvez faire de même avec wordapp.Une astuce consiste à utiliser l'éditeur de macros dans Word pour enregistrer ce que vous voulez faire.Vous pouvez ensuite le visualiser dans l'éditeur de macros.Cela vous donne un excellent point de départ pour votre code VB.

Assurez-vous également de supprimer les objets Word COM à la fin.

Autres conseils

J'ai fait quelque chose de similaire avec une boîte de dialogue SourceSafe, que j'ai publiée sur mon blog.Fondamentalement, j'ai utilisé Spy++ ou Winspector pour connaître le nom de la classe de la fenêtre et effectuer des appels Win32 pour effectuer des tâches avec la fenêtre.J'ai mis la source sur mon blog : http://harriyott.com/2006/07/sourcesafe-cant-leave-well-alone.aspx

Essaies-tu de Activer le mot application ?Si vous souhaitez un contrôle total, vous devez automatiser Word depuis votre application vb.net.Vérifiez ici quelques exemples : 1, 2

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top