Ich habe eine VB.net-Testanwendung, die auf einen Link klickt, der das Microsoft Word-Anwendungsfenster öffnet und das Dokument anzeigt. Wie finde ich das Word-Anwendungsfenster, damit ich etwas Text daraus entnehmen kann?Wie finde ich ein Word-Anwendungsfenster?
Antwort
Sie können das Word-COM-Objekt verwenden, um das Arbeitsdokument zu öffnen, und dann bearbeiten Sie es. Stellen Sie sicher, zuerst 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 (Speichern, Drucken usw.) verwenden. Das kannst du auch mit der WordApp tun. Ein Trick besteht darin, den Makroeditor in Word zu verwenden, um aufzuzeichnen, was Sie tun möchten. Sie können dies im Makro-Editor anzeigen. Dies gibt Ihnen einen guten Ausgangspunkt für Ihren VB-Code.
Achten Sie auch darauf, die Word-COM-Objekte am Ende zu entsorgen.
Ich habe etwas Ähnliches mit einem SourceSafe-Dialog getan, den ich in meinem Blog gepostet habe. Im Grunde habe ich entweder Spy ++ oder Winspector verwendet, um den Namen der Fensterklasse herauszufinden und Win32-Aufrufe zu machen, um mit dem Fenster zu arbeiten. Ich habe die Quelle auf meinem Blog: http://harriyott.com/2006/07/sourcesafe-cant-leave-well-alone.aspx
- 1. Wie finde ich ein bestimmtes XSS-Loch?
- 2. Wie finde ich ein Thema einer Website?
- 3. LD_LIBRARY_PATH: Wie finde ich ein gemeinsames Objekt
- 4. Wie finde ich ein Speicherleck für mod_perl?
- 5. Wie finde ich ein Anmerkungshandle in MATLAB?
- 6. Wie finde ich ein Guile-Paket?
- 7. Wie finde ich Verbindungslecks?
- 8. Wie finde ich Methodenaufrufe?
- 9. Wie finde ich find_module?
- 10. Wo finde ich ein Symbol eines Mauszeigers?
- 11. Wie finde ich einen Musterhintergrund?
- 12. Wie finde ich ungenutzte Faktorstufen?
- 13. Wo finde ich ein gutes Robocode-Tutorial?
- 14. Wo finde ich ein EJB3-Tutorial?
- 15. Wo finde ich ein Fluent NHibernate Tutorial?
- 16. Wie finde ich ein Steuerelement in ItemsPanelTemplate in wpf?
- 17. Wie finde ich heraus, welche Gruppe ein bestimmter Benutzer hat?
- 18. Wie finde ich heraus, ob ein Prozess in C läuft?
- 19. Wie finde ich das JavaScript-Snippet, das ein Element verändert?
- 20. Wie finde ich heraus, ob ein Objekt gesperrt ist? C#
- 21. Wie finde ich ein Webelement in einem dynamischen Vollkalender?
- 22. Wie finde ich heraus, ob ein Element in jquery existiert?
- 23. Wie finde ich ein Dokument nach Teilen von ObjectId?
- 24. Wie finde ich ein div in einem iframe
- 25. Wie finde ich heraus, ob ein Timer läuft?
- 26. Wie finde ich welche mscorlib.dll ein Programm verwendet?
- 27. Wie finde ich, wo ein Paket von Pacman installiert wird?
- 28. Wie finde ich ein Array-Objekt nach gegebenen Informationen?
- 29. Wie finde ich ein Objekt mit einem fehlenden Label?
- 30. Wie finde ich ein Element mit einer ID in JavaFX?
Genau wie Sie ein anderes Anwendungsfenster finden? – kokos