Как найти окно приложения Word? - PullRequest
2 голосов
/ 14 сентября 2008

У меня есть тестовое приложение VB.net, которое щелкает ссылку, которая открывает окно приложения Microsoft Word и отображает документ. Как найти окно приложения Word, чтобы можно было извлечь из него текст?

Ответы [ 3 ]

1 голос
/ 14 сентября 2008

Вы пытаетесь активировать приложение Word? Если вы хотите полного контроля, вам нужно автоматизировать слово из вашего приложения vb.net. Проверьте здесь для некоторых образцов: 1 , 2

1 голос
/ 14 сентября 2008

Вы можете использовать объект Word COM, чтобы открыть рабочий документ, а затем манипулировать им. Обязательно сначала добавьте ссылку на 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

Объект doc является дескриптором созданного вами экземпляра Word, и вы можете использовать все обычные параметры (сохранить, распечатать и т. Д.). Вы можете сделать то же самое с WordApp. Хитрость заключается в том, чтобы использовать редактор макросов в Word для записи того, что вы хотите сделать. Затем вы можете просмотреть это в редакторе макросов. Это даст вам отличную отправную точку для вашего кода VB.

Кроме того, не забудьте избавиться от объектов Word COM в конце.

1 голос
/ 14 сентября 2008

Я сделал нечто подобное с диалогом SourceSafe, которое я разместил в своем блоге. По сути, я использовал Spy ++ или Winspector, чтобы узнать имя класса окна, и делал вызовы Win32, чтобы что-то делать с окном. Я разместил источник в своем блоге: http://harriyott.com/2006/07/sourcesafe-cant-leave-well-alone.aspx

...