• 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.

VBA automatisch sluiten

Status
Niet open voor verdere reacties.

moensk

Gebruiker
Lid geworden
23 jun 2013
Berichten
712
heb onderstaand script
doch na openen en bijwerken moet hij sluiten doch komt steeds met scherm "opslaan" "niet opslaan" "annuleren"
welke regel dient er nog toegevoegd te worden zodat uit "opslaat" en sluit


Private Sub CommandButton2_Click()

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("\\fs1\logistiek\Planlijst_VRE_VRT.xlsx")
objExcel.Workbooks("planlijst_VRE_VRT.xlsx").Worksheets("data_planlijst").ListObjects(1).QueryTable.Refresh False
objWorkbook = objExcel.Workbooks.Close

End Sub
 
als ik de regel voor Close zet dan krijg ik foutmelding 438
als ik hem als laatste regel zet dan vraagt hij nog steeds voor "opslaan" "niet opslaan" "annuleren" en geeft hij ook fout 438 weer
 
Dan die laatste Close-regel vervangen door:
Code:
 objExcel.Workbooks("planlijst_VRE_VRT.xlsx").Saved = True
 objExcel.Workbooks("planlijst_VRE_VRT.xlsx).Close
 
En zo?
Code:
objExcel.DisplayAlerts = False
objWorkbook.Close True
 
objExcel.DisplayAlerts = False
objWorkbook.Close True

werkt doch hij sluit het bestand en niet excel
wat moet er nog aan toegevoegd worden om excel af te sluiten ?
 
had ik al geprobeerd doch dan sluit hij de excel waar deze VBA in draait (en deze mag niet sluiten)
En de excel die ik wil laten sluiten blijft open
 
in de excel die het VBA script aanroept staat een ODBC koppeling
in de excel van de gebruiker is er een query die uit die excel met ODBC gegevens haalt.
gebruiker mag niet in de ODBC excel komen vandaar script op achtergrond voor bijwerken
 
Zo?
Code:
objExcel.DisplayAlerts = False
objWorkbook.Close True
objExcel.Quit
[COLOR="#008000"]'eventueel nog dit stukje??
[/COLOR]Set objExcel = Nothing
 
Philiep,

Ik zie hier vaak dat Application.displayalerts weer direct terug op true wordt gezet. is dit noodzakelijk of niet?

Gr.

Sjon
 
@SjonR:
Als je het object waarvoor dat geldt sluit is dat niet nodig.

@Conseclusie:
Workbook.Saved = True slaat het document niet op.
Dat verteld alleen aan Excel dat het werkboek al opgeslagen is.
 
@Sjon, voor wat ik ervan weet gebeurt dit automatisch en is niet noodzakelijk. (je doet er in ieder geval niets fout mee om dat regeltje code erbij te zetten)
Edit, den Edmoor is weeral sneller:rolleyes:
 
Laatst bewerkt:
beide dank voor de toelichting. :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan