Stránka 1 z 1

Automatické číslování v nadpise při otevření wordu

Napsal: 28 úno 2012 18:45
od luko02420
Zdravím lidičky potřeboval bych poradit jak udělat, pokud to vubec pujde to aby se me automaticky pri otevreni wordu zmenila cislice v nadpise

Nabídka 000/2012 zvýrazněné čislice by se měli měnit tak aby při každém otevreni souboru vzestupne.

Díky vsem za jakouliv radu

Re: Automatické číslování v nadpise při otevření wordu

Napsal: 28 úno 2012 20:42
od Azuzula
Vzhledem k tomu, že makra ve Wordu jsou úplně o něčem jiném a vživotě jsem s tím nedělala (nelze tam adresovat buňka jako v excelu) ale i tak se mi podařilo pomocí záznamníku maker a trochy znalostí VBA vypotit následující (bez ošetření chybových stavů):

Kód: Vybrat vše

Private Sub Document_Open()
Dim cislo As String
    Selection.MoveRight Unit:=wdCharacter, Count:=8 'odpočítá první znaky v prvním řádku až k číslům, pokud tedy dokument začíná "Nabídka 000/atd."
    Selection.MoveRight Unit:=wdCharacter, Count:=3, Extend:=wdExtend 'označí další 3 znaky toho čísla
    cislo = Selection
    cislo = cislo + 1
    If cislo < 100 Then cislo = "0" & cislo 'přidává nuly před číslo tak aby byly max 3čísla tedy maximum je 999
    If cislo < 10 Then cislo = "0" & cislo
    Selection.TypeText Text:=cislo 'zapíše číslo
End Sub

Jediná podmínka je, aby ten nadpis "Nabídka 000/2012" byl v prvním řádku a bez mezer či tabelátorů na začátku.

Re: Automatické číslování v nadpise při otevření wordu

Napsal: 28 úno 2012 21:02
od luko02420
Diky moc zkusim se s tim nejak poprat . Jeste jednou dekuju

Re: Automatické číslování v nadpise při otevření wordu

Napsal: 28 úno 2012 21:09
od Azuzula
Není zač, pak dejte vědět jak to šlape, pokud to bude vše, označte téma za vyřešené.

Re: Automatické číslování v nadpise při otevření wordu  Vyřešeno

Napsal: 28 úno 2012 21:32
od luko02420
Azuzula píše:Vzhledem k tomu, že makra ve Wordu jsou úplně o něčem jiném a vživotě jsem s tím nedělala (nelze tam adresovat buňka jako v excelu) ale i tak se mi podařilo pomocí záznamníku maker a trochy znalostí VBA vypotit následující (bez ošetření chybových stavů):

Kód: Vybrat vše

Private Sub Document_Open()
Dim cislo As String
    Selection.MoveRight Unit:=wdCharacter, Count:=8 'odpočítá první znaky v prvním řádku až k číslům, pokud tedy dokument začíná "Nabídka 000/atd."
    Selection.MoveRight Unit:=wdCharacter, Count:=3, Extend:=wdExtend 'označí další 3 znaky toho čísla
    cislo = Selection
    cislo = cislo + 1
    If cislo < 100 Then cislo = "0" & cislo 'přidává nuly před číslo tak aby byly max 3čísla tedy maximum je 999
    If cislo < 10 Then cislo = "0" & cislo
    Selection.TypeText Text:=cislo 'zapíše číslo
End Sub

Jediná podmínka je, aby ten nadpis "Nabídka 000/2012" byl v prvním řádku a bez mezer či tabelátorů na začátku.



Tak jsem jsi to trochu upravil abych to mela pekne na stredu dokumentu a ohrome to funguje diky moc za radu