2008-09-14 13 views
2

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

+0

Точно так же вы можете найти любое другое окно приложения? – kokos 2008-09-14 13:42:35

ответ

1

Вы можете использовать объект 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 

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

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

1

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

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^