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