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.