Wpis z mikrobloga

#programowanie

Co tu jest źle? Wywala mi błąd compile error , syntax error w linijce If (.Item(.Count - 2) = Chr(32))

To jakieś stare makro do worda co usuwa i,o,a itd z końca linijki.


Dim i As Long

Dim licznik
zmian As Long

licznikzmian = 0

maxlines = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines)

For i = 1 To maxlines

DoEvents

Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=i, Name:=""

Selection.EndKey Unit:=wdLine, Extend:=wdExtend

With Selection.Characters

If .Count > 4 Then

If (.Item(.Count - 2) = Chr(32))


And (.Item(.Count - 1) >= Chr(65) And .Item(.Count - 1) <= Chr(90) Or .Item(.Count - 1) >= Chr(97) And .Item(.Count - 1) <= Chr(122))

And (.Item(.Count) = Chr(32)) Then

.Item(.Count) = Chr(160)

licznik
zmian = licznikzmian + 1

End If

End If

End With

Next

Selection.HomeKey Unit:=wdStory

MsgBox "Zrobione" & Chr(13) &


"Dokonano " & licznik_zmian & " zmian/y", vbInformation

End Sub
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ja tam wywalilbym ** z początku i końca tej linii. Reszta wygląda w miarę normalnie, ale musiałbym odpalić żeby zobaczyć co i jak.
  • Odpowiedz
  • 0
Siedzi przy tym komputerze i myśli że pracuje, haha K---a ha, byś poszedł do roboty prawdziwej i łopatę chwycił to by byli z ciebie ludzie, a nie jakieś gierki na komputerze haha k---a ha
  • Odpowiedz
@segate: https://pastebin.com/Y0LJ940w u mnie poszło po wywaleniu podkreślników i zrobieniu zamiast tego ciągu jednej linii. Kiedyś to działało jako przeniesienie do nowej linii z zachowaniem ciągłości formuły, bo dla VBA enter jest znakiem, bynajmniej w excelu to zawsze śmiga, nie wiem czemu word uważa za to błąd składni.
@postrachNocnegoSzczura w VBA operatorem porównania jest =, a nie ==. Pisanie w tym języku to ogólnie katorga dla kogoś, kto wcześniej
  • Odpowiedz