• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Opslaan, sluiten en opnieuw openen

Status
Niet open voor verdere reacties.

ronald1986

Gebruiker
Lid geworden
2 apr 2010
Berichten
296
Goedemorgen,

Ik zou graag via een macro mijn excel bestand willen opslaan, sluiten en weer opnieuw openen. Nou is het opslaan en sluiten niet zo'n probleem, maar daarna hetzelfde bestand weer opnieuw openen wil niet lukken. Onderstaande code gebruik ik nu:

Code:
Sub testopslaansluiten()

ActiveWorkbook.Close SaveChanges:=True

Workbooks.Open Filename:="C:\Ronald\test_opslaan_sluiten.xlsm"

End Sub

Het bestand wordt wel opgeslagen en afgesloten, maar niet weer geopend. Het is wel zo dat ik geen andere excel bestanden open heb staan en dat het workbook wordt afgesloten door de macro, maar excel niet. Weet iemand hoe ik het bestand ook weer kan openen?

Komt het omdat er op dat moment geen enkel workbook meer open staat? Of omdat het workbook waarin de macro uitgevoerd wordt is afgesloten?
Kan het misschien doormiddel van het openen van een ander bestand die de macro uivoert op het bestand dat moet worden opgeslagen en worden afgesloten?

Bvd!
 
Laatst bewerkt:
:confused: Niet bepaalde mijn vakgebied maar is het niet zo, dat als je die zelfgemaakte en opgeslagen Exel bestand via eigenschappen en openen altijd met Exel nu helpen kan ??:)?
 
Roy, ik snap niet helemaal wat je bedoelt...
Wat bedoel je met "bestand via eigenschappen en openen altijd met Exel nu helpen kan" ?
 
:confused: Maar zoals ik zei op die zelfgemaakte exel bestand klik je met rechterkant-muis en eigenschappen dan geef je aan openen altijd met Exel ...dacht misschien helpen kan ??
wie weet misschien kan je niet op juiste manier jouw Exel bestand-creatie openen ( ik zeg maar wat )..
 
Heb je wel goed aangewezen ?? zoals bijv. C:\Program Files\Microsoft Office\Office12\EXEL :( ?
 
Laatst bewerkt:
Ronald,
Dat gaat niet werken...
Wanneer je het bestand afsluit met de macro, stop/sluit je automatisch de macro.

Wat wil je hiermee bereiken?
 
Het gaat om een bestand dat informatie uit een externe database haalt. Soms verliest het bestand de connectie met de database en wanneer je het bestand dan afsluit en weer opent is de connectie weer terug. Kan dit ook niet automatisch wanneer je er een ander "hulpbestand" bij gebruikt die de het "hoofdbestand" opslaat, afsluit en weer opent?
 
Zoiets kan wel, maar kan je niet je gegevensverbinding opnieuw tot stand brengen met een module.
Dat lijkt mij de makkelijkste oplossing.
 
In de VBA-help als eens gekeken bij Workbook.UpdateLink ?
 
Zo kan je hem ook opnieuw openen...
Code:
Sub Spaarie()
    ActiveWorkbook.SaveAs
    Workbooks.Open ThisWorkbook.FullName
End Sub
 
@Warme bakkertje, ik kan niet echt uitleggen hoe het precies zit met het data ophalen uit deze externe database maar heb inderdaad bij Workbook.UpdateLink gekeken, maar dit gaat niet werken.

@spaarie, heb geen idee hoe ik dat zou moeten doen. Een werkboek sluiten en openen leek mij niet zo heel ingewikkeld...

Iemand die kan uitleggen hoe ik vanuit een "hulpbestand" mijn "echte" bestand kan sluiten en openen?
 
Spaarie, ik heb je code geprobeerd, maar het werkt niet helemaal. Als ik de code uitvoer wordt het bestand afgesloten en komt niet weer terug. Het beeld flikkert wel een keer en het bestand wordt wel opgeslagen...

Dit zelfde had ik net ook al toen ik het probeerde op een andere manier... toen heb ik in het "echte" bestand een macro gezet die een "hulpbestand" opent. In dit hulp bestand heb ik in "This Workbook" onder "Workbook_Open" een code gezet die het "echte" bestand opslaat en afsluit en weer opent.

De code die ik gebruikte is:
In het "echte bestand":
Code:
Sub openhulpbestand()

Workbooks.Open Filename:="C:\Ronald\hulpbestand.xlsm"

End Sub

In This Workbook van het "hulpbestand":

Code:
Private Sub Workbook_Open()

Workbooks("test_opslaan_sluiten").Save

Workbooks("test_opslaan_sluiten").Close

[COLOR="#FF0000"]Workbooks.Open Filename:="C:\Ronald\test_opslaan_sluiten.xlsm"[/COLOR]
End Sub

Het openen van het hulpbestand werkt wel. Ook het opslaan en afsluiten van het "echte" bestand werkt. Alleen (de rode regel) het opnieuw openen van het "echte" bestand werkt niet.
Misschien wel een vreemd detail: Als ik de macro in het hulpbestand handmatig in stapjes uitvoer werkt het wel....

Iemand die misschien weet hoe dit komt?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan