Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Otevření různého *txt ve Wordu, následné (stejné) úpravy makry

Ahoj, díky, mrknu na to pořádně po neděli (DPH..), určitě kvůli rozšíření obzorů.

Nicméně mezitím, po různých neúspěšných pokusech, aby to dělalo přesně co chci (vzhled stránky, velikost fontu, náhrady/výmazy řetězců), a jednoduše, jsem makro narval do normal.dotm (je tedy dostupné úplně pro všechny soubory - což sice nepotřebuji, ale nakonec to asi ničemu nevadí). Přiřadil jsem makru klávesovou zkratku, jinde nepoužívanou, Alt+K.

Teď postupuji tak, že kliknu v TC pravým na onen *txt, otevřít v MS Word, Alt+K, uložit jako, hotovo.
Jak píšeš, oproti Excelu je Word pole neorané.. tohle je za více než 20 let, co Word používám (od verze 95) moje první makrování.

Sub Makro1()
'
' Makro, ktere zpracuje txt vystup z KHK tak, aby jej bylo mozno tisknout
' klavesova zkratka Alt+K
'
' Makro zformatuje velikost stranky a nastavi okraje
' Makro odstrani prebytecne texty, pozustatky z transferu z KHK
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "(500X"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "(502X"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "&l64F&a?L"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = True
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "Tisk  : ??.??.??   Čas  : ??:??"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.PageSetup
        .LineNumbering.Active = False
        .Orientation = wdOrientPortrait
        .TopMargin = CentimetersToPoints(1)
        .BottomMargin = CentimetersToPoints(1.27)
        .LeftMargin = CentimetersToPoints(0.6)
        .RightMargin = CentimetersToPoints(0.6)
        .Gutter = CentimetersToPoints(0)
        .HeaderDistance = CentimetersToPoints(1.25)
        .FooterDistance = CentimetersToPoints(1.25)
        .PageWidth = CentimetersToPoints(21)
        .PageHeight = CentimetersToPoints(29.7)
        .FirstPageTray = wdPrinterDefaultBin
        .OtherPagesTray = wdPrinterDefaultBin
        .SectionStart = wdSectionNewPage
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .VerticalAlignment = wdAlignVerticalTop
        .SuppressEndnotes = False
        .MirrorMargins = False
        .TwoPagesOnOne = False
        .BookFoldPrinting = False
        .BookFoldRevPrinting = False
        .BookFoldPrintingSheets = 1
        .GutterPos = wdGutterPosLeft
    End With
    Selection.WholeStory
    Selection.Font.Size = 7
End Sub

Dalo by se to napsat určitě efektněji, kašlu na to, tohle je zase pro mě přehledné.. minimálně bych mohl spojit odstranění (500X a (502X wildcardovým (50?X.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny