Print side | Luk vindue

kopier clipboard til Stickynotes

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4927
Udskrevet den: 30.Apr.2024 kl. 11:27


Emne: kopier clipboard til Stickynotes
Besked fra: nordicdust
Emne: kopier clipboard til Stickynotes
Posteringsdato: 10.Maj.2023 kl. 08:08
Jeg har en application til at slå emner op på vores server, det kan være adersse eller ejendoms nummer, som den virker nu viser applicationen det søgte i en MsgBox. Jeg har forsøgt at lave en kode der kopier det til stickynotes, men det er ikke lykkes. Er der en her der måske har prøvet det og fået til at virke, eller kan se hvorfor mit ikke gør.
Jeg kan få Stickynotes frem men det er hvor den skal sætte fokus så jeg kan sende fra clipboard den bare stopper. Kode er nedenfor.
Jeg bruger windows 10 office 2016 64bit.

Sub CreateStickyNoteAndPaste2()

    ' Launch Sticky Notes
    Shell "explorer.exe shell:appsFolder\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App", vbNormalFocus
    
    ' Wait for Sticky Notes to appear
    Dim hwndStickyNote As LongPtr
    Do While hwndStickyNote = 0
        hwndStickyNote = FindWindowExW(0, 0, "ApplicationFrameWindow", vbNullString)
        DoEvents
    Loop
    
    ' Find the Sticky Notes window
    hwndStickyNote = FindWindowExW(hwndStickyNote, 0, "Windows.UI.Core.CoreWindow", vbNullString)
    
    ' Set Sticky Notes as the foreground window
    SetForegroundWindow hwndStickyNote
    
    ' Find the edit control
    Dim hwndEdit As LongPtr
    hwndEdit = FindWindowExW(hwndStickyNote, 0, "Edit", vbNullString)
    
    ' Click on the edit control to give it focus
    SendMessageW hwndEdit, &HF5, 0, ByVal 0&
    
    ' Open the clipboard
    OpenClipboard hwndEdit
    
    ' Retrieve the clipboard data
    Dim hData As LongPtr
    hData = GetClipboardData(&HCF)
    
    ' Close the clipboard
    CloseClipboard
    
    ' Paste the data into the edit control
    SendMessageW hwndEdit, &H302, 0, ByVal hData
    
End Sub




Print side | Luk vindue