< návrat zpět

MS Excel


Téma: Aktivovať makro pri tlači - DOPLNENIE rss

Zaslal/a 25.8.2022 10:10

kabakaToto makro mi vloží do pätičky text.

Sub patickatext()
Worksheets("Hárok1").PageSetup.CenterFooter = "Podklady spracovala: meno priezvisko"
End Sub


Už som nato prišla.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call patickatext
End Sub


DOPLNENIE
Už som vyriešila ako vložiť text do pätičky pred tlačou, teraz potrebujem text z pätičky po tlači následne vymazať. Súbor sa automaticky makrom uloží a pred uložením vymaže text. Ale nefunguje mi to, funguje mi to len keď ťuknem na disketku uložiť.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call vlozitpaticku
End Sub

Sub vlozitpaticku()
Worksheets("Hárok1").PageSetup.CenterFooter = "Podklady spracovala: meno,priezvisko"
ActiveWorkbook.Save
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call odstranitpaticku
End Sub
Sub odstranitpaticku()
With Sheets("Hárok1").PageSetup
.CenterFooter = ""
End With
End Sub

Zaslat odpověď >

#053246
elninoslov
Pridanie hlavičky v BeforePrint predsa volá vlozitpaticku, a toto makro predsa ukladá ActiveWorkbook.Save, teda zavolá BeforeSave, ktorý spustí makro odstranitpaticku, a teda výsledok je, že skôr ako vytlačí, tak tú vloženú hlavičku aj odstráni.

Riešením bude asi pridanie vypínacieho príznaku.

Takže, pred tlačou sa má vložiť hlavička, a s touto vloženou hlavičkou s menom sa má súbor uložiť a vytlačiť. Po vytlačení tam hlavička s menou ostane. No pri manuálnom uložení sa má hlavička najskôr zmazať, a až potom súbor uložiť.
Hmm. No a načo sa vlastne pred tlačou ukladá súbor s menom v hlavičke, keď sa následne pri manuálnom uložení tá hlavička zmaže???

Ak dovysvetlíte logiku, tak to asi pôjde urobiť len pridaním príznaku alebo dočasným vypnutím Events ...

Logiku by to dávalo, ak by ste vytvárali kópie súboru s iným názvom alebo kopírovali uložený súbor inam ešte pred jeho zatvorením a znovuuložením a ztým pádom zmazaním hlavičky.

Sub vlozitpaticku()
Worksheets("Hárok1").PageSetup.CenterFooter = "Podklady spracovala: meno,priezvisko"
Application.EnableEvents = False
ActiveWorkbook.Save
Application.EnableEvents = True
End Sub
Příloha: zip53246_pokus-s-hlavickou.zip (15kB, staženo 5x)
citovat
#053247
kabaka

elninoslov napsal/a:



Ak dovysvetlíte logiku, tak to asi pôjde urobiť len pridaním príznaku...


Chcem docieliť toto:
Súbor nemá pätičku, vloží sa makrom pri tlači, súbor sa vytlačí s pätičkou, a po tlači sa pätička vymaže, akoby tam nikdy nebola.citovat
#053248
elninoslov
No a kedy teda platí

"kabaka" napsal/a:

Súbor sa automaticky makrom uloží a pred uložením vymaže text.

Naco je v vlozitpaticku ten
ActiveWorkbook.Save
keď ho nepotrebujete ukladať?
Veď stačí tá druhá proc. Workbook_BeforeSave - tá predsa hlavičku (u Vás päta, to len ja meliem o hlavičke, sorry) vymaže.

EDIT:
Stačí iba toto, nič viac:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Worksheets("Hárok1").PageSetup.CenterFooter = "Podklady spracovala: meno,priezvisko"
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Hárok1").PageSetup.CenterFooter = ""
End Sub
citovat
#053249
kabaka
Nemusí sa to ukladať, nie je to nutné, ja len skúšam ako to dosiahnúť, pätička sa vloží automaticky pred tlačou, a potom chcem aby sa aj automaticky odstránila a to neviem dosiahnúť. Bez zásahu užívateľa. Dám tlač, vytlačí sa a vymaže sa.

Príkazy tam nemusia byť
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveWorkbook.Save


Myslím, že to vypínanie príznaku úplne stačí.
Pretože sa vytlačí, v ukážke pred tlačou síce vidno text v pätičke, ale pri Vložiť-pätička nie je žiaden text a nemožno ho prepísať.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
ActiveSheet.PageSetup.CenterFooter = "Podklady spracovala: meno,priezvisko"
Application.EnableEvents = False
ActiveSheet.PrintOut
Application.EnableEvents = True
ActiveSheet.PageSetup.CenterFooter = ""
End Sub


Ďakujemcitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje