2008-09-14 9 views
2

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 puis-je localiser la fenêtre de l'application Word afin de pouvoir récupérer du texte?Comment localiser une fenêtre d'application Word?

+0

Exactement la même manière que vous trouvez une autre fenêtre d'application? – kokos

Répondre

1

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

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 une poignée pour l'instance de Word que vous avez créé et vous pouvez utiliser toutes les options normales (enregistrer, imprimer, etc.). Vous pouvez faire de même avec le motapp. Une astuce consiste à utiliser l'éditeur de macros dans Word pour enregistrer ce que vous voulez faire. Vous pouvez ensuite afficher ceci dans l'éditeur de macros. Cela vous donne un excellent point de départ pour votre code VB.

De même, assurez-vous de disposer des objets Word COM à la fin.

1

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

1

Essayez-vous activate le mot app? Si vous voulez un contrôle total, vous devez automatiser le mot de votre application vb.net. Vérifiez ici quelques exemples: 1, 2

Questions connexes