Разработвам приложение, което ще получава данни през COM порт и трябва да го постави в програма на Microsoft Office (засега работя с Word, но ще поддържа Excel, PowerPoint, ...).
Помислих си, че добра идея би било да копирате тези данни в клипборда, след което да ги поставите в прозореца на което и да е отворено приложение (така че например приложенията на LibreOffice и Notepad работят перфектно). За това съм кодирал:
if (booleanIncomingData)
{
booleanCopy = true;
}
else if (booleanOutcomingData)
{
copy = false;
}
if (copy)
{
Clipboard.SetText(myString);
}
else
{
SendKeys.Send("^V");
SendKeys.Send("{ENTER}");
}
Както казах, програмите на LibreOffice и Notepad работят перфектно, но Word и Excel не правят това, което смятах, че трябва (по принцип показват всякакви данни, след което преминават към следващия ред).
Също така, прост
Clipboard.GetText()ç
не работи (и усещането ми е, че се опитва да постави съдържанието в активния прозорец.
Търсенето на решения за Interop.Word в мрежата не е имало успех досега. Някой има ли идея какво мога да направя или къде да търся? Вместо обикновено Win32 приложение, трябва ли да внедря добавка за Office?
В случай, че е необходима друга информация, моля, не се колебайте да я поискате.
Сезар.