Automatické provádění změn v kopii v souhlasu s originálem

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

JirkaT
nováček
Příspěvky: 41
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod JirkaT » 09 bře 2010 12:05

Zdravim všechny, potřeboval bych poradit. Je možný vytvořit kopii excel, nebo word souboru do jiné složky tak, že pokud provedu nějakou změnu v originále, promítne se mi do kopie? Díky

//podle pravidel by měl název co nejpřesněji popisovat podstatu dotazu

//změna původního názvu Duplicita souboru

//mmm

Reklama
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod mike007 » 09 bře 2010 14:48

Ano, to lze.
Lze napsat makro, které by při každém uložení originálního dokumentu vytvořilo novou kopii, tzn. přepsalo tu starou.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

JirkaT
nováček
Příspěvky: 41
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod JirkaT » 09 bře 2010 15:46

Makra nejsou moje silná stránka, můžeš mi, prosím, poradit postup? Díky

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod mike007 » 09 bře 2010 18:26

Otevři Excelový dokument, na který chceš vytvářet zálohu a přejdi do prostředí VBA (kl.zkratka Alt+F11)

1. V panelu nalevo dvakrát klikni na ThisWorkBook:

Obrázek

3. Do prázdného okna vlož toto makro:

[syntax lang=vb filename=makro.txt]
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call zaloha
End Sub
[/syntax]

4. V menu VBA: Insert --> Module

5. Do prázdného okna vlož toto makro:

[syntax lang=vb filename=makro2.txt]
Sub zaloha()
Dim sesit As Workbook, BackupFileName As String, i As Integer, OK As Boolean
If TypeName(ActiveWorkbook) = "Nothing" Then Exit Sub
Set sesit = ActiveWorkbook
If sesit.Path = "" Then
Application.Dialogs(xlDialogSaveAs).Show
Else
BackupFileName = "zaloha.xls"
OK = False
On Error GoTo chyba
If Dir("c:\" & BackupFileName) <> "" Then
Kill "c:\" & BackupFileName
End If
With sesit
Application.StatusBar = "Vytvářím zálohu..."
.Save
Application.StatusBar = "Ukládám zálohu..."
.SaveCopyAs "c:\" & BackupFileName
OK = True
End With
End If
chyba:
Set sesit = Nothing
Application.StatusBar = False
If Not OK Then
MsgBox "Záloha nebyla vytvořena!", vbExclamation, ThisWorkbook.Name
End If
End Sub
[/syntax]

Prostředí VBA zavři klasicky křížkem v pravém horním rohu.

Nyní při každém uložení dokumentu bude vytvořena jeho záloha, která bude umístěna na C:\

Makro lze spustit kdykoliv budeš chtít, nejen tedy při ukládání. Spustíš ho klasicky ze seznamu maker (Alt+F8)

Také je zde možnost vytvářet zálohu po každé provedené změně v dokumentu. Stačí v událostní proceduře (první makro) změnit první řádek z
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) na
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range). Toto ale v případě velkých souborů nedoporučuji, protože může během vytváření zálohy docházet ke zpomalení práce. Určitě bys byl nerad, kdyby po každé změně si musel čekat třeba půl minuty než Excel vytvoří zálohu... To bys toho moc neudělal :) To bych se spíše přikláněl k tomu udělat makro, které by vytvářelo zálohu třeba každých 5-10 minut. To už se dá přežít ;)
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

JirkaT
nováček
Příspěvky: 41
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod JirkaT » 10 bře 2010 08:53

Je to paráda, funguje to bezvadně, jen mam ještě takovou doplňující otázku. Je možný, aby kopie byla přístupná pouze pro čtení, aby uživatel neměl možnost provést změny a následně je uložit?
Jinak díky

Uživatelský avatar
alenka_v_říši_divů
Level 6
Level 6
Příspěvky: 3201
Registrován: únor 09
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod alenka_v_říši_divů » 10 bře 2010 09:20

http://office.microsoft.com/cs-cz/excel ... 91029.aspx zkoušel si?
Nebo co zaheslovat? Snad to platí i pro kopii. V případě války bych to řešil jednoduchou dávkou s příkazem attrib.
Ale pokud to jde, tak jistě někdo znalej excelu dá echo :)

JirkaT
nováček
Příspěvky: 41
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod JirkaT » 12 bře 2010 10:50

Zaheslovat soubor při uložení znam, já myslel, jestli to jde nějak udělat přes to makro, abych nemusel každej originál zaheslovávat.

Uživatelský avatar
alenka_v_říši_divů
Level 6
Level 6
Příspěvky: 3201
Registrován: únor 09
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod alenka_v_říši_divů » 12 bře 2010 10:53

To nevím, ale viděl sem v tomto tématu dva znalce excelu a neodpověděli... takže asi tak.
Já jakožto neznalej, bych to řešil baťáky...

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické provádění změn v kopii v souhlasu s originálem

Příspěvekod mike007 » 12 bře 2010 15:56

alenka_v_říši_divů: Nemaluj čerta na zeď. Nemám na starosti jenom Pc-help ...


Tady je upravená subrutina (to druhé makro)

[syntax lang=vb filename=makro2.txt]
Sub zaloha()
Dim sesit As Workbook, BackupFileName As String, i As Integer, OK As Boolean
Application.ScreenUpdating = False
If TypeName(ActiveWorkbook) = "Nothing" Then Exit Sub
Set sesit = ActiveWorkbook
If sesit.Path = "" Then
Application.Dialogs(xlDialogSaveAs).Show
Else
BackupFileName = "c:\zaloha.xls"
OK = False
On Error GoTo chyba
If Dir(BackupFileName) <> "" Then
Kill BackupFileName
End If
With sesit
Application.StatusBar = "Vytvářím zálohu..."
.Save
Application.StatusBar = "Ukládám zálohu..."
.SaveCopyAs BackupFileName
OK = True
End With
End If
Application.Workbooks.Open (BackupFileName)
With ActiveWorkbook
.WritePassword = "111"
Application.DisplayAlerts = False
.Save
.Close
Application.DisplayAlerts = True
End With
chyba:
Set sesit = Nothing
Application.StatusBar = False
If Not OK Then
MsgBox "Záloha nebyla vytvořena!", vbExclamation, ThisWorkbook.Name
End If
Application.ScreenUpdating = True
End Sub
[/syntax]

Na řádku 25 si do uvozovek vlož heslo (nyní nastaveno 111), kterým se bude záloha zamykat proti úpravám. Záloha nyní půjde otevřít pouze pro čtení.

Kdyby jsi to chtěl mít zamčené komplet, aby se do zálohy nikdo nedostal, tak .WritePassword nahraď .Password

Vřele ti doporučuji VBA zamknout, aby ti někdo to heslo z makra neokoukal...
Ve VBA: Tools --> VBAProject Properties... --> záložka Protection --> zaškrtni Lock project for viewing a dole zadej heslo
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Různé způsoby souhlasu s cookies. Příloha(y)
    od mmmartin » 26 led 2024 15:14 » v PC-HELP - připomínky k fóru
    38
    6422
    od Ltb Zobrazit poslední příspěvek
    18 úno 2024 20:52
  • Automatické přehrávání videa Příloha(y)
    od fafejt » 09 úno 2024 13:59 » v Internet a internetové prohlížeče
    4
    994
    od fafejt Zobrazit poslední příspěvek
    09 úno 2024 17:30
  • Windows 11 OneDrive automatické odstranění
    od ArtisPier » 26 zář 2023 11:41 » v Programy ke stažení
    4
    4605
    od ArtisPier Zobrazit poslední příspěvek
    26 zář 2023 12:29

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti