Help!

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

Hulp bij posten

Recente topics

Auteur Topic: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.  (gelezen 2893 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Goedemiddag allen,

Achter “ThisWorkbook” heb ik via ‘Workbooks.Open” de opdracht om automatisch een tweede bestand te openen. Dit werkt zonder problemen.

Nu wou ik echter weten of en hoe het mogelijk zou zijn om het tweede bestand ook automatisch mee te laten sluiten als het eerste bestand terug gesloten word.


Alvast dank.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.177
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #1 Gepost op: 06 december 2021, 12:25:51 »
BlackDevil,

ik denk gewoon met
Sub EEN ()
Workbooks.open Filenaam:= ("twee")
Code
Code
Code
Workbooks.Close filename:= ("twee")
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 BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #2 Gepost op: 06 december 2021, 12:35:35 »
@SoftAid,

dank voor je reactie...

hoe ik via een gewone macro een bestand moet laten sluiten op zich wist ik al.
maar het tweede bestand mag enkel gesloten worden als ook het eerste bestand gesloten word.
Zolang het eerste bestand open is dient het tweede ook open te zijn voor diverse zoekacties die in de rest van de andere macro's van het eerste bestand zijn opgenomen.
Wat ik dus niet weet is waar en hoe ik de opdracht moet geven dat het tweede bestand ook moet gesloten worden wanneer het eerste bestand door de gebruiker wordt afgesloten.
Als dit dan al mogelijk zou zijn uiteraard....

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.177
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #3 Gepost op: 06 december 2021, 12:38:38 »
sluit je het eerste werkboek ergens met Save and Exit ??
Dan kan je net daarvoor het werkboek 2 sluiten


:) 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 BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #4 Gepost op: 06 december 2021, 12:39:47 »
nee, gewoon via het kruisje van excel zelf....
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.177
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #5 Gepost op: 06 december 2021, 12:43:46 »
Of
https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.runautomacros

auto.close: This example runs the Auto_Close macro for the active workbook and then closes the workbook.
VBA

Copy
With ActiveWorkbook
 .RunAutoMacros xlAutoClose
 .Close
End With

:) 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 SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.177
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #6 Gepost op: 06 december 2021, 12:47:26 »
nee, gewoon via het kruisje van excel zelf....

Daar zou ik dan toch een kleine macro en een Msgbox voor gebruiken, zodat je zeker je aanpassingen aan dat (die) bestand(en) opslaat of niet opslaat.

:) 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 MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #7 Gepost op: 06 december 2021, 12:52:01 »
Hallo,

Om het bij eender welke manier van sluiten op te vangen zou ik het (persoonlijke voorkeur dus) bij 'Workbook_BeforeClose' houden.
Dat vind je eveneens onder ThisWorkbook.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #8 Gepost op: 06 december 2021, 12:55:24 »
@SoftAid,

Ik krijg sowieso standaard van excel altijd de vraag of ik de laatste wijzigingen wil opslaan als ik op het kruisje druk.

Maar om automatisch ook het tweede bestand te sluiten zal ik dan gewoon een extra knop toevoegen in mijn eerste bestand waarachter ik dan de opdracht geef om eerst het tweede bestand te sluiten en vervolgens het actieve bestand te sluiten.
Al zal het dan wel even wennen worden om die knop te gebruiken ipv het standaard-kruisje (want sluiten via het kruisje is echt wel een automatisme geworden door de jaren heen.  ;D ).

groetjes,
BlackDevil

1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #9 Gepost op: 06 december 2021, 13:05:15 »
Hallo,

Om het bij eender welke manier van sluiten op te vangen zou ik het (persoonlijke voorkeur dus) bij 'Workbook_BeforeClose' houden.
Dat vind je eveneens onder ThisWorkbook.

Mvg,
Molly

Bedankt MollyVH  _/-\o_, dat was wat ik zocht  :thumbsup:


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #10 Gepost op: 07 december 2021, 12:59:36 »
Goedemiddag allemaal,

Ik heb nog eens een vraagje.
Omdat de vraag betrekking heeft op het in vba werken met meerdere bestanden plaats ik het eventjes in dit topic.

Om te voorkomen dat je scherm gaat flikkeren tijdens het uitvoeren van een macro wordt aan het begin van de macro de ‘Application.ScreenUpdating’ op “False” gezet en aan het einde terug op “True”, wat uiteraard héél goed werkt.

Maar nu vraag ik me dus af, hoe je kan voorkomen dat je scherm reageert, telkens je code eventjes naar een ander open bestand moet gaan om er een zoekbewerking uit te voeren.

Alvast dank.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #11 Gepost op: 07 december 2021, 13:15:19 »
Hallo BlackDevil,

In de marge van je vraag: Application.ScreenUpdating op het einde terug op True zetten is niet fout, maar ook niet nodig!

Zou het kunnen dat je iets als Select of Activate doet voor die zoekbewerking? Dat is met heel grote waarschijnlijkheid ook niet nodig en zou wel eens de oorzaak kunnen zijn.
Anders nog maar eens een uitgekleed voorbeeldbestandje, t.t.z. in dit geval 2?

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #12 Gepost op: 07 december 2021, 13:47:09 »
Precies wat ik bedoelde, SoftAid  :thumbsup:
Maar ik was vooral nieuwsgierig naar hoe BlackDevil het zelf deed  ;), met in het achterhoofd de gedachte dat er mogelijk nog iets meer geoptimaliseerd zou kunnen worden.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #13 Gepost op: 07 december 2021, 14:11:45 »
misschien iets met: :blink:
With GetObject("C:/users /user / .../.../...  ")

     bla, bla,bla
.close 0
End with
Dan hoeft het andere bestand niet open te staan.
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA tweede bestand automatisch mee sluiten bij afsluiten eerste bestand.
« Reactie #14 Gepost op: 07 december 2021, 14:38:12 »
@allen,

Vooreerst hartelijk dank voor jullie reacties. ;)
Na enkele dagen een volledig nieuw project op poten gezet te hebben wou ik enkele zaken uittesten om alles wat overzichtelijker te maken.
Hiervoor had ik dus (voorlopig) twee testbestandjes gemaakt. Hier staan dus maar zéér weinig gegevens in waardoor men het 'geheel' dus niet kan zien en dus mogelijks niet volledig 'mee' zal zijn in het verhaal van het volledige project. Ook de code voor het automatisch openen van het tweede bestand zit in deze testbestanden nog niet verwerkt. Bij het eigenlijke project zullen er een 5-tal bestanden in het spel zijn.

Mijn vraag heeft (voorlopig) betrekking op code die deels achter een UF steekt en deels in een module zit.
De UF verschijnt in het hoofdbestand wanneer werkblad "start" geactiveerd wordt.
Hierop staan (voorlopig) 2 ComboBoxen en 2 TextBoxen.
Wanneer in de ComboBox een naam geslecteerd wordt (of ingevuld indien onbestaande) dan komt in de TextBox ernaast automatisch de geconverteerde 'stam'-naam te staan. Deze laatste wordt dus (via een macro in de module van het hoofdbestand) opgezocht in het tweede bestand en vervolgens dus geretourneerd.

Ik hang de twee testbestandjes aan.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com