I believe that the little loading rectangle (is there a technical name for that?) counts as a "Microsoft Word" window, and it is active. My solution, that worked for me just now (no guarantees!), is to wait on a Word window with the default file name included, like so:
WinWaitActive Document1 - Microsoft Word
Does this work for you? If the German version defaults to something other than "Document1", put that there instead.
Now, where this is going to cause you problems is when you already have a Document1 open when you run this script.
Edit: This is also working for me:
WinWaitActive ahk_class MsoSplash
WinWaitActive Microsoft Word
This second solution may be even more problematic, since it will only work if you have no Word windows open before running winword.
Edit number two: How does the following work for you?
;This script is used to copy notepad++-Syntax-Higlighting
;to clipboard in a format OneNote can read.
SetTitleMatchMode 2
#c::
IfWinActive, Notepad++
{
send !p
send n
send {Right}
send c
send c
send {Enter}
IfWinNotExist, ahk_class OpusApp
{
Run winword.exe
WinWait, ahk_class MsoSplash
WinWait, Microsoft Word
}
else
{
Run winword.exe
}
WinActivate, Microsoft Word
send ^v
send ^a
send ^x
; WinClose
Send !{F4}
send n
}
SetTitleMatchMode 1
return
Edit number three: I replaced WinClose
with Send !{F4}
, which seems to work better.
Edit number four: I moved the WinActivate after the condition so that it applies to both cases, as recommended in a comment.