Stránka 1 z 1

Jak ve Wordu přeházet odstavce?

Napsal: 05 led 2020 23:25
od atari
Potřebuji ve Wordu přeházet odstavce podle náhodného klíče.

Uvedeným kódem dokážu přehodit odstavec na požadované místo takto:
- Načtu odstavec
- Vytvořím mezeru na nové pozici
- Vložím do mezery odstavec
- Odstavcem na původním místě smažu

Tu novou pozici vypočítám pomocí „Rnd“ a odstavec přesunu, jenže tím se změní celkové pořadí, a tak musím provést nový výpočet, a u toho si pamatovat, které odstavce jsou již přesunuté, a tak dokola. Uměl bych to naprogramovat, ale je to složité.

Takže hledám nějaký jiný způsob, třeba ty odstavce načíst do polí, nebo jinak. Má někdo nápad?

Kód: Vybrat vše

 pozice = 2
 nova_pozice = 4
 Set odstavec = ActiveDocument.Paragraphs(pozice).Range   'načíst odstavec
 Set mezera = ActiveDocument.Paragraphs.Add(ActiveDocument.Paragraphs(nova_pozice).Range)   'vytvořit mezeru
 mezera.Range.Text = odstavec.Text   'do mezery ten odstavec vložit
 odstavec.Delete          'odstavec na původním místě smazat

Re: Jak ve Wordu přeházet odstavce?

Napsal: 08 úno 2020 20:47
od Grimm
Sice už je to s křížkem po funuse, ale zrovna louskám knížku o VBA ve Wordu. Tak sem si hned zkusil něco splácat.
Výsledek v příloze.