hetzelfde bestand sluiten en weer openen via vba

Status
Niet open voor verdere reacties.

maze00

Gebruiker
Lid geworden
19 okt 2007
Berichten
32
Hallo,

Ik heb een vba scriptje gemaakt om een word bestand te sluiten en weer te openen.
Alleen na het sluiten opent hij het document niet meer.

Weten jullie welke fout er in het script zit ?

Code:
Private Sub OptionButton2_Click()

ActiveDocument.Close
Dim objWord As Word.Application
Set objWord = New Word.Application
objWord.Visible = True
objWord.Documents.Open "c:\documenten van rita\rita\brief.doc", ReadOnly:=True

End Sub
 
Laatst bewerkt door een moderator:
uhm.. draait dit script in de file die wordt gesloten? Volgens mij houd je script op, ophet moment dat document.close wordt aangeroepen
 
Hallo Wampier,

Je hebt gelijk, dat is het probleem.
Maar hoe kan ik het anders maken zodat het wel werkt ?
 
Wat is de reden dat je dit wil volbrengen? Mogelijk kan het anders opgelost worden. Anders kun je mogelijk de file eerst opnieuw openen en dan de oude afsluiten. er zijn nog wat andere, ingewikkeldere, oplossingen, maar die kan ik zelf op het moment niet testen
 
Het is voor een formulier dat steeds opnieuw aangeroepen moet worden.
Is een beetje lastig uit te leggen.

Eventueel mag het ook wel op de andere manier.
Het bestand opnieuw openen en dan de oude weer sluiten.
 
Ok, in principe kun je dan de volgorde van je code omdraaien. Maar, kun je dan niet beter je formulier in een loop zetten? Dit is een zeer intensieve manier om het voor elkaar te krijgen. Het slurpt CPU en geheugen en duurt in vergelijking nogal lang. Ook bestaat er een grotere kans dat je file corrupt raakt en je al je werk kwijt bent.
 
Hoe wordt de code dan precies ?
ongeveer op deze manier ?

Code:
Private Sub OptionButton2_Click()

Dim objWord As Word.Application
Set objWord = New Word.Application
objWord.Visible = True
objWord.Documents.Open "c:\documenten van rita\rita\brief.doc", ReadOnly:=True
ActiveDocument.Close
End Sub
 
Laatst bewerkt door een moderator:
ongetest

Code:
Private Sub OptionButton2_Click()

Set huidig = ActiveDocument
Dim objWord As Word.Application
Set objWord = New Word.Application
objWord.Visible = True
objWord.Documents.Open "c:\documenten van rita\rita\brief.doc", ReadOnly:=True
huidigt.Close
End Sub
 
Helaas lukt dit niet.

Ik heb je de 2 voorbeeldbestanden gestuurd, misschien dat het nu iets duidelijker is.
 

Bijlagen

Je hebt nu al 3 vragen lopen betreffende hetzelfde onderwerp (2 in de VBA-sectie en 1 in de XL-sectie).
Gelieve het bij 1 vraag te houden anders wordt er misschien bij alle vragen een antwoord gegeven (en een hoop dubbel werk gemaakt) en raakt het einde helemaal zoek.
Zoals ik je uitleg versta heb je een standaardbrief gemaakt in Word die je dan met verschilende adresgegevens wil vullen vanuit een XL-bestand en versturen. Waarom werk je dan niet vanuit XL ? Selecteer een naam uit je XL-lijst en open dan je brief met de juiste adresgegevens, voeg eventueel een controle toe of je Worddocument al geopend is zodat bij een volgende selectie in XL enkel de adresgegevens gewijzigd worden in je brief en je niet steeds moet openen en sluiten.
 
Beste maze00 zou je willen stoppen met dubbele posts. Het is niet meer te overzien. Tevens dien je code tussen de code tags te plaatsen.
 
Huib,

De boodschap is duidelijk !
Ik ben nieuw op dit soort sites en was me niet bewust van de reactie's.

Ik had alle vragen al op opgelost gezet.
Je hoeft er dus niet meer op te reageren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan