Frage

Ich habe eine VB.net Test-Anwendung, die auf einen Link klickt, der das Microsoft Word-Anwendungsfenster wird geöffnet und zeigt das Dokument. Wie finde ich das Fenster Word-Anwendung, so dass ich einen Text von ihm greifen kann?

War es hilfreich?

Lösung

Sie können das Wort COM-Objekt verwenden, um die Arbeit Dokument zu öffnen, und dann Sie manipulieren. Achten Sie darauf, zunächst eine Referenz für Microsoft Word hinzuzufügen.

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

Der Doc-Objekt ist ein Handle für die Instanz von Word Sie erstellt haben, und Sie können alle normalen Optionen verwenden (Speichern, Drucken usw.). Sie können mit dem wordapp ebenfalls tun. Ein Trick ist, die Makro-Editor in Word zu verwenden, um aufzuzeichnen, was Sie tun möchten. Sie können dann im Makro-Editor sehen dies. Diese geben Ihnen einen idealen Ausgangspunkt für Ihren VB-Code.

Auch sicher sein, die Word-COM-Objekte am Ende zu entsorgen.

Andere Tipps

Ich habe etwas ähnliches mit einem Source-Dialog, die ich auf meinem Blog gepostet. Im Grunde habe ich entweder Spy ++ oder Winspector das Fenster Klassennamen, um herauszufinden, und machen Win32 ruft Sachen mit dem Fenster zu tun. Ich habe die Quelle auf meinem Blog: http: // harriyott.com/2006/07/sourcesafe-cant-leave-well-alone.aspx

Versuchen Sie, activate die Wort-App? Wenn Sie die volle Kontrolle wollen, müssen Sie Wort von Ihrer vb.net App automatisieren. Hier finden Sie einige Beispiele: 1 , 2

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top