Forum » Programiranje » Word macro: brisanje od določenega znaka naprej
Word macro: brisanje od določenega znaka naprej
Simplon ::
Hoj!
 
Rabim pomoč. Kako v wordu naredim makro, ki bo v vsaki vrstici zbrisal vse, kar je naprej od najbolj desnega dvopičja v vrstici?
Rabim pomoč. Kako v wordu naredim makro, ki bo v vsaki vrstici zbrisal vse, kar je naprej od najbolj desnega dvopičja v vrstici?
prtenjam ::
Koncept vrstice v Wordu ne obstaja, saj se vrstica lahko prelomi glede na širino lista. Obstaja pa koncept odstavkov in sklepam, da imate vi vsako vrstico tako ali tako v svojem odstavku...No v tem primeru vam bo problem rešil spodnji makro:
  
Option Explicit
Function RInStr(ByVal pStr As String, pItem As String) As Integer
  Dim i As Integer, n As Integer, tLen As Integer
  n = 0
  tLen = Len(pItem)
  For i = Len(RTrim(pStr)) To 1 Step -1
    If Mid(pStr, i, tLen) = pItem Then
      n = i
      Exit For
    End If
  Next i
  
  RInStr = n
End Function
'
' www.matjazev.net
'    maj 2011
'
Sub BrisiVseDesno()
  Dim p As Integer, i As Integer
  Dim s As String
  
  For p = 1 To ActiveDocument.Paragraphs.Count
    s = ActiveDocument.Paragraphs(p).Range.Text
    
    i = RInStr(s, ";")
    If (i < Len(s)) Then s = Left(s, i - 1) + Chr(13)
    ActiveDocument.Paragraphs(p).Range.Text = s
  Next
End Sub
 Matjaž Prtenjak 
https://mnet.si
https://mnet.si
Simplon ::
O, super, hvala. Res je, vsaka vrstica je itak svoj odstavek, tako da bo tole delalo.
 
Opa, sem sprobal in makro sicer dela super, ampak samo, kadar se vrstice ne začnejo s številkami. Tam ga pa potem zmede in ne deluje, napiše pa
Run-Time Error '5':
Invalid procedure call or argument.
 
Se da to kako spedenat?
Opa, sem sprobal in makro sicer dela super, ampak samo, kadar se vrstice ne začnejo s številkami. Tam ga pa potem zmede in ne deluje, napiše pa
Run-Time Error '5':
Invalid procedure call or argument.
Se da to kako spedenat?
Zgodovina sprememb…
- spremenil: Simplon ()
 
Ajrina ::
kaj pa če vsebino worda kopiraš v excel in potem v excelu uporabiš funkcijo =LEFT(A1;FIND("*";SUBSTITUTE(A1;":";"**";LEN(A1)-LEN(SUBSTITUTE(A1;":";""))))-1), če je v A1 prva vrstica kjer hočeš vse odrezati? potem pa samo to formulo skopiraš navzdol in po želji besedilo nazaj v word.
 
p.s.: formula ti odstrani tudi zadnje dvopičje. že tega nočeš, odstrani "-1" na koncu formule.
p.s.: formula ti odstrani tudi zadnje dvopičje. že tega nočeš, odstrani "-1" na koncu formule.
Zgodovina sprememb…
- spremenila: Ajrina ()
 
Simplon ::
Ja, tudi z excellom sem probal, pa me zajebava to, da cifre spremeni v datume in jih ne ohrani. A to lahko kako izklopim? 
Simplon ::
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | Uvoz txt datoteke v excelOddelek: Programska oprema | 5485 (5122) | sebavet | 
| » | [C#] Prosim pomagajte! Potrebujem program, ki bi pobiral podatke iz ene straniOddelek: Programiranje | 2886 (2496) | David1994 | 
| » | [excel]duplikatiOddelek: Programiranje | 1617 (1544) | baksuz | 
| » | [Excel] problem z makrojem, visual basic (strani: 1 2 )Oddelek: Programiranje | 6135 (5598) | steev | 
| » | kopiranje iz enega fajla v drug??Oddelek: Programiranje | 1342 (1102) | Seth |