W VBA wygląda to tak:
Kod: Zaznacz cały
Public Sub Przypisz_wlasciwosci()
Dim nazwa As String ' nazwa pliku
Dim tytul As String ' przyszłe pole tytuł
Dim temat As String ' przyszłe pole temat
Dim nawias As Long ' numer litery gdzie jest nawias kończący tytuł
Dim dlugosc As Long ' Długość nazwy
' pobranie nazwy pliku
ActiveDocument.Save
nazwa = ActiveDocument.Name
' wyszukwanie końca tytułu
nawias = InStr(nazwa, ")")
' małe zabezpieczenie
If nawias = 0 Then End
' przypisanie tytułu pierwotnego
tytul = Left(nazwa, nawias - 1)
' operacje na tytule
tytul = Replace(tytul, "-", "/")
tytul = Replace(tytul, "p/ko", "p-ko")
tytul = Replace(tytul, " (", ", ")
' przypisanie danych
' nowe 2012-03-27
Dim NazwaPliku As New DataObject
Set NazwaPliku = New DataObject
NazwaPliku.settext (ActiveDocument.BuiltInDocumentProperties(wdPropertyTitle))
NazwaPliku.PutInClipboard
End Sub
Stworzenie ciągu znaków ma polegać na
1 wczytaniu nazwy aktualnego edytowanego pliku - bez ścieżki
2. utworzeniu tekstu z nazwy pliku o długości - aż do wystąpienia pierwszego znaku ")" [w pożądanym ciągu nawis ten już nie znajduje się]
3. zamianie w uzyskanym ciągu liter znaków "-" na "/"
3. zmianie w uzyskanym ciągu liter zwrotu "p/ko" na "p-ko"
4. zmianie w uzyskanym ciągu liter zwrotu " (" [spacja z otwarciem nawisu] na ", " [przecinek ze spacją]
5. wstawieniu ostatecznego wyniku do schowka (jak ctrl+C)
Czy ktoś może mi to zakodować jako makro LibreOffice ?