• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak stworzyć makrę, która będzie formatowała, co czwarty wyraz?

0 głosów
225 wizyt
pytanie zadane 2 listopada 2017 w Inne języki przez natalia121698 Nowicjusz (120 p.)

Może niektórych z Was zdziwić temat programowania w Wordzie. Ale tak, można tam w pewien sposób programować, używając "makra".

Chcę stworzyć makrę, która będzie zaznaczała i formatowała (np. pogrubiało i kolorowało) co czwarty wyraz danego tekstu.


Tworząc makrę na krótkim tekście (123213163513) jest super, ok.---->stworzyłam makrę----> teraz mam dłuższy tekst np. 100 cyfr.-----> chcę skorzystać za zapisanego makro---> jak zapisać makrę, żeby formatowała mi, co czwartą cyfrę danego tekstu i nie zatrzymywała formatować, po zmianie czcionki tych 3 cyfr, na których podstawie stworzyłam makrę, tylko, żeby wzięło pod uwagę cały tekst z liczbą 100 cyfr? 

 


*Próbowałam z wpisaniem do edytora danego makro, na końcu, polecenia "repeat". Ale ostatecznie program rozumie, ze ma chodzić w kółko i w kółko. Więc ostatecznie cały tekst jest pogrubiony i pokolorowany, a nie tylko "co 4 wyraz".

komentarz 2 listopada 2017 przez tls01 Nałogowiec (43,810 p.)

jak zapisać makrę, żeby formatowała mi, co czwartą cyfrę danego tekstu i nie zatrzymywała formatować, po zmianie czcionki tych 3 cyfr, na których podstawie stworzyłam makrę, tylko, żeby wzięło pod uwagę cały tekst z liczbą 100 cyfr? 

Nie rozumiem.

Makro to rodzaj męski, nie ma czegoś takiego, jak "ta makra". 

komentarz 2 listopada 2017 przez natalia121698 Nowicjusz (120 p.)
Dobrze wiedzieć, że to rodzaj męski, dzięki za pomoc
komentarz 2 listopada 2017 przez tls01 Nałogowiec (43,810 p.)
Napisałem, że nie rozumiem oczekując szerszego wytłumaczenia, jak ma działać algorytm.

O użyciu niepoprawnej formy wspomniałem między innymi po to, abyś mogła w czytelniejszy sposób opisać, jak ma działać makro.
komentarz 2 listopada 2017 przez natalia121698 Nowicjusz (120 p.)

Ok, dzięki, inaczej to zrozumiałam. A której części nie rozumiesz? 

Ogółem myślę o tym, żeby algorytm działał w ten sposób, że mając tekst (mam na myśli ciąg cyfr, np. 11532653724234324234), co czwarty wyraz byłby zaznaczany, czyli: 11532653724234324234. Tworzę to makro na podstawie przedstawionego ciągu cyfr. I makro zapamiętuje algorytm zaznaczania tych pięciu cyfr, po prostu jakiś pięciu pierwszych cyfr, które znajdują się w takiej odległości, ze pomiędzy mi są 3 inne cyfry.

Ale nie potrafię stworzyć makro, które wykonałoby tą samą funkcję, ale jednocześnie, automatycznie na dłuższym ciągu cyfr (czyt. mam zbiór cyfr: 173126312638912748912374234782347289574890573490583750293478(dłuższy, niż ten, na którego podstawie tworzyłam moje makro)---->używam stworzonego makro, ale zapisany jest tam jedynie algorytm na krótszy fragment tekstu i taki jest efekt działania tego makro: 173126312638912748912374234782347289574890573490583750293478. 


Moim celem jest to, żeby automatycznie "co czwarta" cyfra została sformatowana w dłuuugim tekście, mimo że algorytm tworzyłam na krótkim fragmencie. 

1 odpowiedź

0 głosów
odpowiedź 3 listopada 2017 przez tls01 Nałogowiec (43,810 p.)

Musisz albo zmienić wartość iteratora (zwiększyć ilość przejść pętli), albo automatycznie ustalić długość tekstu, dzięki czemu makro będzie działało dla "dowolnej" liczby znaków. 

Jest funkcja Len(), do której jako argument podajesz string (lub zaznaczenie), a ta zwraca długość tego stringu. Możesz to wykorzystać w taki sposób:

Dim sText as String, nCount as Integer
sText = "jakiś ciąg znaków"
nCount = Len(sText) ' Tutaj do nCount zostanie przypisana długość sText, dzięki czemu pętla wykona się tyle razy, ile jest znaków w tekście.
For i = 0 To nCount 
   ' instrukcje
Next i

W środku pętli umieszczasz instrukcje, które będą kolorować co czwarty znak. 

Jeśli chcesz kolorować co czwarty wyraz, to musisz wykryć, gdzie się ten wyraz zaczyna i gdzie kończy. Przykładowo (albo może to już rozwiązany problem - nie weryfikuję), jeżeli pomiędzy jakimś ciągiem są dwie spacje lub na początku jest spacja, a na końcu znak interpunkcyjny, to jest to jeden wyraz.

Podobne pytania

0 głosów
1 odpowiedź 414 wizyt
0 głosów
2 odpowiedzi 101 wizyt
pytanie zadane 24 maja 2017 w C i C++ przez Adam Olesiak Gaduła (3,290 p.)
+1 głos
2 odpowiedzi 69 wizyt

87,976 zapytań

136,557 odpowiedzi

304,510 komentarzy

58,337 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...