Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: workbook saven bij openen  (gelezen 6455 keer)

0 leden en 1 gast bekijken dit topic.

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
workbook saven bij openen
« Gepost op: 12 november 2016, 15:09:58 »
hallo,
in mijn fietsproject zou ik graag het originele workbook ergens wegschrijven vooraleer ik zaken toevoeg.
bv bij openen saven als 'originele naam' met daarbij jaar-maand-dag.

heb namelijk een nare ervaring gehad (reeds voor de tweede keer) met een workbook waarbij ik afbeeldingen heb toegevoegd als commentaar.
plots blijken die allemaal verdwenen.
zie ook de discussie op volgende website:
https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_other/excel-worksheet-and-backups-suddenly-get/507bba4c-d77d-4315-a696-566662992315?page=1
heb daar de oplossing geprobeerd met de xml syntax checker en die werkt, maar is bij grote files wel zeer tijdrovend.
het daar voorgestelde vbs script werkt ook perfect.
maar...beter voorkomen dan genezen.

iemand suggesties voor een goede oplossing?
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.164
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: workbook saven bij openen
« Reactie #1 Gepost op: 12 november 2016, 16:23:07 »
Werkboek sluiten, Verkenner openen, Map selecteren,  werkboek selecteren en er op  rechtsklikken, kies voor Kopiëren.
in dezelfde map rechtsklikken en kiezen voor Plakken. Je hebt nu een perfecte kopie die je kan testen, en ergens anders opslaan via Verkenner.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline popipipo

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 317
Re: workbook saven bij openen
« Reactie #2 Gepost op: 12 november 2016, 19:15:49 »
Of maak bij de laatste keer opslaan een kopie

Sub opslaan()
Dim mydate
mydate = Format(Date, "yyyy-mm-dd")
ActiveWorkbook.SaveAs Filename:="D:\fietsproject\kopie\fietsproject - kopie " & mydate & ".xlsm"
ActiveWorkbook.SaveAs Filename:="D:\fietsproject\fietsproject.xlsm"
ActiveWorkbook.Close
End Sub
Willem
Hoe meer je weet hoe meer je vergeet.
Hoe meer je vergeet hoe minder je weet.
Hoe minder je weet hoe minder je vergeet.
Hoe minder je vergeet hoe meer je weet.

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: workbook saven bij openen
« Reactie #3 Gepost op: 13 november 2016, 10:29:29 »
de oplossing van softaid is natuurlijk simpel en goed.
maar je zal dit regelmatig moeten herhalen en steeds weer nakijken ....

het is meer in de richting van popipipo dat ik zocht, maar dan bij openen van het workbook:
voor ik dingen ga toevoegen een kopie maken.

moet ik dat ergens op een bepaald sheet zetten bij openen of beter bij een command button die dan wel 'autmatisch' zou moeten geactiveerd worden bij een bepaalde handeling?
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.164
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: workbook saven bij openen
« Reactie #4 Gepost op: 13 november 2016, 10:47:44 »
Hallo adri,

als je een copy wilt maken bij het openen van je werkboek, dan kan je de "SaveCopyAs" code gebruiken in een module van het werkboek.

Sub Workbook_Open()

Dim mydate
mydate = Format(Date, "dd-mm-yyyy")

Application.EnableEvents = False
ActiveWorkbook.SaveCopyAs Filename:=("F:\fietsproject\kopie\fietsproject_kopie-" & mydate & ".xlsm")
Application.EnableEvents = True

End Sub

Je moet wel op voorhand een map zoals D:\fietsproject\kopie\   aangemaakt hebben.
Kies je een andere locatie, dan moet je uiteraard ook het adres in de code aanpassen.


:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: workbook saven bij openen
« Reactie #5 Gepost op: 13 november 2016, 11:53:33 »
het werkt softaid,
maar zo kom ik terecht in de kopie en dat is niet de bedoeling.
ik kan dan ook niet meer in het originele workbook als ik dit bij openen zet.
plus, de kopie zou die code nimmer mogen bevatten, want dan vraag je bij openen van de kopie weer een kopie van.
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.164
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: workbook saven bij openen
« Reactie #6 Gepost op: 13 november 2016, 12:23:38 »
Hallo adri,

Heb de code wat aangepast.

Sub Workbook_Open()

Dim mydate
mydate = Format(Date, "dd-mm-yyyy")
Cancel = True
Application.EnableEvents = False
ActiveWorkbook.SaveCopyAs Filename:=("F:\fietsproject\kopie\fietsproject-kopie-" & mydate & ".xlsm")
Application.EnableEvents = True

End Sub

Nu nog de macro uit je kopie halen...

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline popipipo

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 317
Re: workbook saven bij openen
« Reactie #7 Gepost op: 13 november 2016, 14:30:47 »
Citaat
het is meer in de richting van popipipo dat ik zocht, maar dan bij openen van het workbook:
Wat zijn je beweegredenen om het bij het openen te doen?
Als je het bij opslaan doet heb je bij de kopie de juiste datum staan (datum van maken)
Doe je het bij het openen dan kan dat een aantal dagen (weken?) later zijn
Willem
Hoe meer je weet hoe meer je vergeet.
Hoe meer je vergeet hoe minder je weet.
Hoe minder je weet hoe minder je vergeet.
Hoe minder je vergeet hoe meer je weet.

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: workbook saven bij openen
« Reactie #8 Gepost op: 14 november 2016, 10:21:38 »
tweede versie werkt prima softaid.
alleen als ik de kopie open dan krijg ik natuurlijk de error can not access the file, dus daar zou de code niet meer mogen staan.

de reden popipipo om het bij openen te doen is de volgende.
het project zal toch wekelijks bijgewerkt worden.
workbook bestaat uit vele sheets met daarbij één 'invulsheet' om data van die week in te geven.
van daaruit worden dan de diverse data verdeeld naar tabellen, lijsten, grafieken...
uit ondervinding (zie mijn eerste post) weet ik dat daar, om welke reden ook (zelf, microsoft...), van alles kan misgaan.
daarom heb ik liefst steeds een reservekopie vooraleer ik iets verander/toevoeg.
dit kan evenwel misschien ook op een andere plaats/manier want ik werk bv ook met een inlog sheet.
daar zou ik eventueel ook bv de naam van de inlogger misschien kunnen toevoegen aan de naam van kopie? 
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.164
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: workbook saven bij openen
« Reactie #9 Gepost op: 14 november 2016, 12:38:32 »
tweede versie werkt prima softaid.
alleen als ik de kopie open dan krijg ik natuurlijk de error "can not access the file", dus daar zou de code niet meer mogen staan.

Hallo adri,

probeer eens met volgende aanpassingen (kan ze zelf niet proberen, mijn verkenner en Excel lopen vast op vrijwel alles  :'( :( )

Sub Workbook_Open()

Dim mydate
mydate = Format(Date, "dd-mm-yyyy")
Application.EnableEvents = False
ActiveWorkbook.SaveCopyAs Filename:=("F:\fietsproject\kopie\fietsproject_kopie-" & mydate & ".xlsm")
Application.EnableEvents = True
' Open het "kopie-werkboek", verwijder alle VBA-code en sla het terug op.
'------------------------------------------------------------------------------------
Workbooks.Open Filename:=("F:\fietsproject\kopie\fietsproject_kopie-" & mydate & ".xlsm")
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
        .DeleteLines 1, _
        .CountOfLines
EndWith
Workbooks("F:\fietsproject\kopie\fietsproject_kopie-" & mydate & ".xlsm").Close SaveChanges:=True
'-------------------------------------------------------------------------------------
Workbook("F:\fietsproject\fietsproject.xlsm").Activate
End Sub

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: workbook saven bij openen
« Reactie #10 Gepost op: 14 november 2016, 13:05:43 »
hallo softaid.
code loopt vast op end with.
ps het is wel niet de bedoeling om alle code te verwijderen op de kopie.
alleen die betreffende het maken van de kopie.
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.279
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: workbook saven bij openen
« Reactie #11 Gepost op: 14 november 2016, 13:46:30 »
zet deze regel in je Open procedure....
if instr(1,thisworkbook.name,"kopie")> 0 then exit sub
______________________________

Groet, Leo

Offline adri

  • Ervaren lid
  • ***
  • Berichten: 421
  • Geslacht: Man
  • De Oplossing!
Re: workbook saven bij openen
« Reactie #12 Gepost op: 14 november 2016, 13:52:04 »
hallo redhead,
heb dat geprobeerd op enkele plaatsen, maar resultaat is steeds endwith error.
moet je dit op een specifieke plaats zetten?
Asus k750jb.
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz 2401
X750JB
NVIDIA GeForce GT 740M        2048MB 1600 x 900
Realtek High Definition Audio
Nr: 1 Model: PLEXTOR PX-256M5S
C:\ NTFS 183,18GB 6,54GB 12 173MB
AV: AVG
FW: Windows Firewal Enabled: True

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.279
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: workbook saven bij openen
« Reactie #13 Gepost op: 14 november 2016, 16:15:40 »
Adri, het "endwith" moet met een spatie worden geschreven. Nu laat je aan de interpreter weten dat het om een variabele zou gaan. Da's natuurlijk onzin.
Dus pas het aan naar End With.

Mijn regel plaats je hele maal bovenaan de procedure. Dat moet de eerste stap zijn die het On Open event moet gaan afhandelen.
______________________________

Groet, Leo

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.164
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: workbook saven bij openen
« Reactie #14 Gepost op: 14 november 2016, 16:57:22 »

heb steeds een endwith error.
Mijn fout, sorry....  :( :-[

RedHead, als je hier de INSTR-functie gebruikt, dan hoeft mijn code om de VBA-code uit een "kopie" te halen niet meer, want hij kan
die dan toch niet uitvoeren, juist?
Dan is deze code voldoende, of niet?

Sub Workbook_Open()

Dim mydate

if instr(1,thisworkbook.name,"kopie")> 0 then exit sub

mydate = Format(Date, "dd-mm-yyyy")
Application.EnableEvents = False
ActiveWorkbook.SaveCopyAs Filename:=("F:\fietsproject\kopie\fietsproject_kopie-" & mydate & ".xlsm")
Application.EnableEvents = True

End Sub

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

 


www.combell.com