Add-In do Worda - nie działają wszystkie funkcje

0

Hej
Jestem noobem w C#, a chciałem sobie usprawnić pracę z dokumentami. Zrobiłem sobie Add-in z przyciskiem, który pomaga mi formatować dany dokument. Checkboxami zaznaczam, co ma mi zrobić z dokumentem i oszczędzam dzięki temu kupę czasu.
Jedno rozwiązanie mi nie działa, mianowicie twarde spacje. Generalnie program ma wstawiać twardą spację w przypadku słów krótszych niż 3 znaki i znajdujących się w tabeli slowaKrotkie. ChatGPT i Copilot poprawiali mi kod, aż wyszedł taki potworek. Działać nie działa 😕

 public static void ZamienTwardeSpacjeNaKoncuLinijek(Word.Document document)
 {
     string tekstDokumentu = document.Content.Text;
     string[] slowaKrotkie = { "a", "i", "o", "u", "w", "z", "na", "do", "po", "za", "przy", "nad", "bez", "od", "we", "ze" };
     string[] linie = tekstDokumentu.Split('\n');

     foreach (string linia in linie)
     {
         string[] slowa = linia.Split(' ', '\t');

         if (slowa.Length > 0)
         {
             string ostatnieSlowo = slowa[slowa.Length - 1].Trim();

             if (ostatnieSlowo.Length <= 2 && Array.Exists(slowaKrotkie, slowo => slowo.Equals(ostatnieSlowo, StringComparison.OrdinalIgnoreCase)))
             {
                 Word.Range range = document.Range(document.Content.End - linia.Length + ostatnieSlowo.Length + 1, document.Content.End - 1);
                 range.Text = "\u00A0";
             }
         }
     }
 }

 private void WstawTwardeSpacje(object sender, EventArgs e)
 {
     Word.Document currentDocument = Globals.ThisAddIn.Application.ActiveDocument;
     ZamienTwardeSpacjeNaKoncuLinijek(currentDocument);
 }
0

Możesz podać przykład jak to ma działać? W sensie dane na wejściu i jaki ma być rezultat

0

Jest w tekście dokumentu zdanie ze spójnikiem na końcu linii, w tym przypadku "i", który jest w tabeli slowaKrotkie

screenshot-20240614095209.png
, więc po uruchomieniu programu, powinno go przenieść do nowej linii, tak jak to robisz poprzez użycie CTRL+SHIFT+Spacja

screenshot-20240614095436.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1