Mam prośbę do ludzi zajmujących się #programowanie #vba o małe makro do Word-a. Pewnie sam bym je wymęczył, ale z moja nikłą wiedza trwało by to długo. Natomiast dla zawodowca to pewnie chwila.
Makro ma wstawić zakładkę w miejscu kursora czy aktualnego zaznaczenia, a nazwa zakładki ma być wzięta z aktualnie zaznaczonego tekstu (o ile coś jest zaznaczone) albo z czterech pierwszych słów wiersza (gdy nic nie jest zaznaczone) Algorytm wyobrażam sobie tak: 1. zadeklaruj zmienią NazwaZakładki 2. sprawdź czy jest coś zaznaczone 2a jeśli tak przypisz do NazwaZakładki treść zaznaczenia 2b jeśli nie przypisz do NazwaZakładki 4 pierwsze słowa z wiersza 3 przekształć NazwaZakładki na mozliwoą nazwę zakładki - nie może zawierać spacji i nie może zaczynać się od cyfr - preferowana nazwa dla mnie byłby to jeden ciąg znaków gdzie pierwsze znaki każdego słowa byłby dużą literą np. "To jest zakładka" -> ToJestZakładka - o ile osiągnięcie preferowanej nazwy zakładki jest niemożliwe to podmieniłbym spację w zmiennej NazwaZakładki na "" czyli "To jest zakładka" -> Tojest_zakładka 4. wstaw zakładkę o nazwie NazwaZakładki w miejscu kursora czy zaznaczenia.
Sub WstawZakladka() ' makro wstawiające zakładkę Dim NazwaZakladki As String NazwaZakladki = Selection.Text NazwaZakladki = Replace(NazwaZakladki, " ", "_") With ActiveDocument.Bookmarks .Add Range:=Selection.Range, Name:=NazwaZakladki .DefaultSorting = wdSortByLocation .ShowHidden = False End With End Sub ale to chyba koniec moich możliwości proszę o pomoc #programowanie #vba
Sub WstawZakladka() ' makro wstawiające zakładkę ' deklaracja zmiennych Dim NazwaZakladki As String Dim SugerowanaNazwa As String Dim Cykl As Byte ' odczyt zaznaczenia SugerowanaNazwa = Selection.Text If Len(SugerowanaNazwa) < 3 Then Selection.HomeKey Unit:=wdLine Selection.MoveRight Unit:=wdWord, Count:=5, Extend:=wdExtend SugerowanaNazwa = Selection.Text End If If Len(SugerowanaNazwa) > 255 Then SugerowanaNazwa = "Zbyt długa nazwa" End If SugerowanaNazwa = InputBox("Podaj nazwę zakładki!", "Nowa zakładka", SugerowanaNazwa) If Len(SugerowanaNazwa) <
Jaki serial z odcinkami do 30 minut możecie polecić? Znalazłam Emily w Paryżu, ale nie za bardzo się wkręciłam. Może znacie coś fajnego? Lubię kryminały i horrory, ale nie musi być koniecznie ten gatunek :) #seriale #netflix
Makro ma wstawić zakładkę w miejscu kursora czy aktualnego zaznaczenia, a nazwa zakładki ma być wzięta z aktualnie zaznaczonego tekstu (o ile coś jest zaznaczone) albo z czterech pierwszych słów wiersza (gdy nic nie jest zaznaczone)
Algorytm wyobrażam sobie tak:
1. zadeklaruj zmienią NazwaZakładki
2. sprawdź czy jest coś zaznaczone
2a jeśli tak przypisz do NazwaZakładki treść zaznaczenia
2b jeśli nie przypisz do NazwaZakładki 4 pierwsze słowa z wiersza
3 przekształć NazwaZakładki na mozliwoą nazwę zakładki - nie może zawierać spacji i nie może zaczynać się od cyfr
- preferowana nazwa dla mnie byłby to jeden ciąg znaków gdzie pierwsze znaki każdego słowa byłby dużą literą np. "To jest zakładka" -> ToJestZakładka
- o ile osiągnięcie preferowanej nazwy zakładki jest niemożliwe to podmieniłbym spację w zmiennej NazwaZakładki na "" czyli "To jest zakładka" -> Tojest_zakładka
4. wstaw zakładkę o nazwie NazwaZakładki w miejscu kursora czy zaznaczenia.
Żeby nie było że nic nie robię ;)
Sub WstawZakladka()
' makro wstawiające zakładkę
Dim NazwaZakladki As String
NazwaZakladki = Selection.Text
NazwaZakladki = Replace(NazwaZakladki, " ", "_")
With ActiveDocument.Bookmarks
.Add Range:=Selection.Range, Name:=NazwaZakladki
.DefaultSorting = wdSortByLocation
.ShowHidden = False
End With
End Sub
ale to chyba koniec moich możliwości proszę o pomoc #programowanie #vba
Po dalszej męczarni ;)
Sub WstawZakladka()
' makro wstawiające zakładkę
' deklaracja zmiennych
Dim NazwaZakladki As String
Dim SugerowanaNazwa As String
Dim Cykl As Byte
' odczyt zaznaczenia
SugerowanaNazwa = Selection.Text
If Len(SugerowanaNazwa) < 3 Then
Selection.HomeKey Unit:=wdLine
Selection.MoveRight Unit:=wdWord, Count:=5, Extend:=wdExtend
SugerowanaNazwa = Selection.Text
End If
If Len(SugerowanaNazwa) > 255 Then
SugerowanaNazwa = "Zbyt długa nazwa"
End If
SugerowanaNazwa = InputBox("Podaj nazwę zakładki!", "Nowa zakładka", SugerowanaNazwa)
If Len(SugerowanaNazwa) <