كيف يمكنني تحديد موقع نافذة تطبيق Word؟
سؤال
لدي تطبيق اختبار VB.net ينقر على الرابط الذي يفتح نافذة تطبيق Microsoft Word ويعرض المستند.كيف يمكنني تحديد موقع نافذة تطبيق Word حتى أتمكن من الحصول على بعض النص منها؟
المحلول
يمكنك استخدام كائن 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
كائن المستند هو مؤشر لمثيل Word الذي قمت بإنشائه ويمكنك استخدام كافة الخيارات العادية (حفظ، طباعة، إلخ).يمكنك أن تفعل الشيء نفسه مع WordApp.الحيلة هي استخدام محرر الماكرو في Word لتسجيل ما تريد القيام به.يمكنك بعد ذلك عرض هذا في محرر الماكرو.يمنحك هذا نقطة بداية رائعة لرمز VB الخاص بك.
تأكد أيضًا من التخلص من كائنات Word COM في النهاية.
نصائح أخرى
لقد فعلت شيئًا مشابهًا مع مربع حوار SourceSafe، والذي قمت بنشره على مدونتي.في الأساس، استخدمت إما Spy++ أو Winspector لمعرفة اسم فئة النافذة، وإجراء مكالمات Win32 للقيام بأشياء باستخدام النافذة.لقد وضعت المصدر على مدونتي: http://harriyott.com/2006/07/sourcesafe-cant-leave-well-alone.aspx