• 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?

VPS Starter Arubacloud
0 głosów
400 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 niezalogowany

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 niezalogowany
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 niezalogowany

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ź 997 wizyt
0 głosów
2 odpowiedzi 151 wizyt
pytanie zadane 24 maja 2017 w C i C++ przez Adam Olesiak Gaduła (3,290 p.)
+1 głos
2 odpowiedzi 515 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...