sendmessage und verwendung
21.03.2007 10:50:58
chris b
Hallo guten morgen zusammen,
ich habe eine frage zu einem Object.Würde mich freuen wenn es mir jemand kurz erklären könnte.
Ich habe folgenden code unten angefügt verstehe in zum größten teil nur weiß ich nicht was sendmessage
" SendMessage hWnd, WM_USER + 18, 0, 0 "
also diese Codeteil macht oder wozu mann in noch verwenden kann in z.b anderen Anwendungen.Beispiel wäre auch super.
Ich danke euch vielmals für eure super Hilfe !!!!! danke gruß Chris
------------------------------------------------------------------------------------------------------------------------------------------------------
----
Daten Importieren aus Exceldatei von Powerpiont
' Deklarieren der nötigen API-Routinen:
Declare
Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As Long) As Long
Declare
Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Sub GetExcel()
Dim XL1 As Object ' Variable für Verweis auf
' Microsoft Excel.
Dim ExcelLiefNicht As Boolean ' Attribut für Freigabe am Ende.
' Überprüfen, ob eine Kopie von Microsoft Excel bereits
' ausgeführt wird.
On Error Resume Next ' Fehlerbehandlung zurückstellen.
' GetObject-Funktionsaufruf ohne erstes Argument gibt einen Verweis auf
' eine Instanz der Anwendung zurück. Wenn die Anwendung nicht
' ausgeführt wird, tritt ein Fehler auf.
Set XL1 = GetObject(, "Excel.Application")
If Err.Number <> 0 Then ExcelLiefNicht = True
Err.Clear ' Err-Objekt im Fehlerfall löschen.
' Prüfen auf Microsoft Excel. Wenn Microsoft Excel ausgeführt wird, wird
' dies in die Tabelle ausgeführter Objekte eingetragen.
DetectExcel
' Objektvariable so festlegen, daß sie auf die gewünschte Datei verweist.
Set XL1 = GetObject("C:\Documents and Settings\byc3ba\Desktop\testdecker.xls")
' Microsoft Excel mit zugehöriger Application-Eigenschaft einblenden.
' Fenster mit der Datei unter Verwendung der Windows-Auflistung des
' XL1-Objektverweises anzeigen.
XL1.Application.Visible = True
XL1.Parent.Windows(1).Visible = True
cb = XL1.activesheet.Cells(1, 1)
' Dateiverarbeitung.
' Wenn diese Kopie von Microsoft Excel beim Starten des Beispiels
' nicht ausgeführt wurde, wird Excel mit der Quit-Methode des
' Application-Objekts beendet. Wenn Sie versuchen, Microsoft Excel zu
' beenden, blinkt die Titelleiste, und Sie werden
' in einer Meldung gefragt, ob Sie geladene Dateien speichern möchten.
If ExcelLiefNicht = True Then
XL1.Application.Quit
End If
Set XL1 = Nothing ' Verweis auf Anwendung und
' Tabelle freigeben.
End Sub
Sub DetectExcel()
' Diese Prozedur erkennt, ob Excel ausgeführt wird, und registriert dies.
Const WM_USER = 1024
Dim hWnd As Long
' Wenn Excel ausgeführt wird, wird durch Ausführen dieses
' API-Aufrufs die zugehörige Zugriffsnummer zurückgegeben.
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then ' 0 bedeutet, daß Excel nicht ausgeführt wird.
Exit Sub
Else
' Excel wird ausgeführt. Verwenden der API-Funktion
' SendMessage, um Excel in der Tabelle ausgeführter
' Objekte einzutragen.
SendMessage hWnd, WM_USER + 18, 0, 0
End If
End Sub