Как найти окно приложения Word?

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


person JonnyGold    schedule 14.09.2008    source источник
comment
Точно так же, как вы находите любое другое окно приложения?   -  person kokos    schedule 14.09.2008


Ответы (3)


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

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

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

person Leo Moore    schedule 14.09.2008

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

person harriyott    schedule 14.09.2008

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

person Gulzar Nazim    schedule 14.09.2008