Zdravím,
koukal jsem, že tady je řešeno vyvolání makra při otevření a před uložením ale já bych potřeboval aby se zobrazovala poslední změna po ulože. Potřebuji v jedné buňce zobrazovat aktuální datum uložení souboru.Nechalo by se to nějak jednoduše pořešit. Při otevření a před uložením mi to jde. Ale pokud soubor otevřu udělám změny a dam tisk budu mít tabulku s předchozím datem uložení. Potřebuji vždy tisknout s posledním uloženým datem.Díky
Vyvolání makra při uložení
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Vyvolání marka při uložení
Pozadujes, cituji: "Ale pokud soubor otevřu udělám změny a dam tisk budu mít tabulku s předchozím datem uložení.". Sam musis uznat, ze pozadujes nemozne - soubor neukladas, ale chces mit datum jeho budouciho ulozeni.
Soubor programove pouze uloz, dej tisk a pak zavri. Nic jineho nelze poradit
Soubor programove pouze uloz, dej tisk a pak zavri. Nic jineho nelze poradit
Re: Vyvolání marka při uložení
Možná jsem to tak trochu nesmyslně napsal. Chtěl bych aby se makro vykonalo při uložení a nebo při tisku. Samozřejmě nechci aby to zobrazovalo budoucí datum uložení.
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Vyvolání marka při uložení
Pokud soubor pred tiskem neulozis, tak datum ulozeni bude z ulozeni pred otevrenim souboru, kdy tisknes.
Takze musis soubor ulozit a pak tisknout a budes mit datum ulozeni predchazejici tisk o par sekund.
Takze asi takhle:
Takze musis soubor ulozit a pak tisknout a budes mit datum ulozeni predchazejici tisk o par sekund.
Takze asi takhle:
Kód: Vybrat vše
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
....
ActiveWorkbook.PrintOut
....
End Sub
Re: Vyvolání marka při uložení
a nešlo by to udělat bez toho zavření. Kdybych prostě kliknul na uložit a ono to hodilo do buňky datum poslední změny.
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Vyvolání marka při uložení
Neuvedls, jak ziskavas datum ulozeni, jen ze ti to jde. To, co jsem uvedl, byla ilustrace toho, jak bys mohl postupovat.
Samozrejme muzes soubor ulozit i "rucne": Soubor>Ulozit, vlozit tebou blize nespecifikovanym zpusobem datum a cas ulozeni do bunky a pak tisknout treba zase "rucne". Ale nubude to datum a cas ulozeni pri zavreni souboru.
Pro tvou potrebu, pokud budes popisovane cinnosti vykonavat programove, cas posledniho ulozeni:
Samozrejme muzes soubor ulozit i "rucne": Soubor>Ulozit, vlozit tebou blize nespecifikovanym zpusobem datum a cas ulozeni do bunky a pak tisknout treba zase "rucne". Ale nubude to datum a cas ulozeni pri zavreni souboru.
Pro tvou potrebu, pokud budes popisovane cinnosti vykonavat programove, cas posledniho ulozeni:
Kód: Vybrat vše
Sub LastSave()
Range("k1").Value = ActiveWorkbook.BuiltinDocumentProperties(12)
End Sub
Re: Vyvolání makra při uložení
Tento kod mi nejak nic nedela. Ještě jednou zkusím popsat o co mi jde. Potřeboval bych, aby se mi v jedné bunce rozbrazoval datum poslední změny. Když otevru soubor ukaže se datum. Pokud udělam změny a samozřemně uložim datum by se změnil. A aby se pri tisku zobrazoval atuální datum poslední změny. Duležité je pokud soubor jenom otevru a dam tisk aby se datum nezmenil. Dobré by bylo kdyby to jeste porovnavalo automaticky zmeny a pripadne ulozilo. Ale to je az zbytecne slozite.
Jinak datum zobrazuji
ted to mam udelany zatim tak to
Jinak datum zobrazuji
Kód: Vybrat vše
[datum].Value = ActiveWorkbook.BuiltinDocumentProperties.Item("Last save time")
ted to mam udelany zatim tak to
Kód: Vybrat vše
Private Sub Workbook_BeforePrint(Cancel As Boolean)
[datum].Value = ActiveWorkbook.BuiltinDocumentProperties.Item("Last save time")
End Sub
Private Sub Workbook_Open()
[datum].Value = ActiveWorkbook.BuiltinDocumentProperties.Item("Last save time")
End Sub
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: Vyvolání makra při uložení
Zadani vlastnosti
.BuiltinDocumentProperties(12) je ekvivalentni .BuiltinDocumentProperties.Item("Last save time")
a uvedeny kod vlozi na aktivni list do bunky K1 datum posledniho ulozeni.
Do sve procedury:
vloz prikaz na ulozeni souboru, a dostanes:
takze pred tiskem budes mit soubor ulozen a ziskas datum posledniho ulozeni.
Pokud to jeste neni ono, pak to vzdavam.
.BuiltinDocumentProperties(12) je ekvivalentni .BuiltinDocumentProperties.Item("Last save time")
a uvedeny kod vlozi na aktivni list do bunky K1 datum posledniho ulozeni.
Do sve procedury:
Kód: Vybrat vše
Private Sub Workbook_BeforePrint(Cancel As Boolean)
[datum].Value = ActiveWorkbook.BuiltinDocumentProperties.Item("Last save time")
End Sub
vloz prikaz na ulozeni souboru, a dostanes:
Kód: Vybrat vše
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveWorkbook.Save
[datum].Value = ActiveWorkbook.BuiltinDocumentProperties.Item("Last save time")
End Sub
takze pred tiskem budes mit soubor ulozen a ziskas datum posledniho ulozeni.
Pokud to jeste neni ono, pak to vzdavam.
Re: Vyvolání makra při uložení
Já to řeším tak, že ukládám soubor jako název+datum+čas, samozřejmě VBA.
Tlačítko pro uložení.
Do události tlačítka:
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
Dim location As String
location = "C:\DOKUMENTY\LEXIKON\LEXIKON " & Format(Now(), "yyyy/mm/dd ") & Format(Time(), "hh-mm-ss") & ".xls"
Cells(1, 1).Select
ActiveWorkbook.SaveAs Filename:=location
End If
End Sub
Přidáš si ještě uložení data a času do buňky ve VBA nebo dáš do buňky funkci políčko ...
Tlačítko pro uložení.
Do události tlačítka:
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
Dim location As String
location = "C:\DOKUMENTY\LEXIKON\LEXIKON " & Format(Now(), "yyyy/mm/dd ") & Format(Time(), "hh-mm-ss") & ".xls"
Cells(1, 1).Select
ActiveWorkbook.SaveAs Filename:=location
End If
End Sub
Přidáš si ještě uložení data a času do buňky ve VBA nebo dáš do buňky funkci políčko ...
Re: Vyvolání makra při uložení
No ono to ještě úplně není. Protože když si to budu chtít pouze vytisknout a budu mít jiný datum než jsem opravdu provedl změnu. Ten datum v souboru je taky dobry nápad, ale pro mě nepoužitelný. Protože já dále pracuji s tabulkami v tištěné podobě. A nechci aby se mi stalo, že budu mít vytištěné dvě obsahově stejné tabulky a každá bude mít jiný datum. Já už jsem to snad tak nějak zkombinoval, že by to bylo asi trochu použitelné. Moc děkuji za pomoc a nápady.
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
vyvolani fotek online - starsi fotky nelze presunout do PC
od p3v4x » 04 črc 2023 21:47 » v Vše ostatní (Off topic) - 1
- 1953
-
od petr22
Zobrazit poslední příspěvek
11 črc 2023 13:12
-
-
- 1
- 593
-
od Grimm
Zobrazit poslední příspěvek
12 bře 2024 21:43
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů