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

Word openen Vba

Status
Niet open voor verdere reacties.

Excelvbas01

Gebruiker
Lid geworden
7 apr 2020
Berichten
165
Goedemiddag,
Ik gebruik deze code om een WORD bestand te openen.
Dit lukt wel. Echter als er geen WORD bestand in de map is, dan kreeg ik foutmelding.

Code:
Sub Open_Word_Document()
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Open "H:\klanten\klant1.doc"
End Sub

Ik ben opzoek naar VBA code die aangeeft dat er geen WORD bestand aanwezig is en dan een map openen waar ik een format heb staan.
map D:\format.doc

alvast bedankt.
 
met een "onerror goto" routine waarin je dezelfde commando's geeft maar dan verwijzend naar je D:\format.doc

Code:
Sub Open_Word_Document()

Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
On Error GoTo foutief

objWord.Documents.Open "H:\klanten\klant1.doc"

Exit Sub

foutief:

objWord.Documents.Open "D:\format.doc"

End Sub
 
Laatst bewerkt:
Ik zou daar geen onerror voor gebruiken maar testen of het document bestaat:
Code:
Sub Open_Word_Document()
    Dim objWord As Object
    Dim wDoc As String

    Set objWord = CreateObject("Word.Application")
    objWord.Visible = True
    
    wDoc = "H:\klanten\klant1.doc"
    If Dir(wDoc) <> "" Then
        objWord.Documents.Open wDoc
    Else
        objWord.Documents.Open "D:\format.doc"
    End If
End Sub
 
@DigiCafee:
Welkom trouwens als nieuwe helper.
Hoe meer zielen, hoe meer vreugd :)
 
Het heeft niet zoveel zin Word te openen als er toch geen bestand is.
Code:
Sub Open_Word_Document()
Dim objWord As Object
Dim wDoc As String

    wDoc = "D:\format.doc"
    If Dir(wDoc) <> "" Then
        Set objWord = CreateObject("Word.Application")
        objWord.Visible = True
        objWord.Documents.Open wDoc
    Else
        MsgBox "Document niet gevonden.", vbOKOnly
    End If
End Sub
 
Bedankt allemaal voor snele reactie.
Alle drie oplossining werken bij mij goed. dank daarvoor.

Ik wil die codes aanpassen met
Code:
If vbNo = MsgBox("Deze klant heeft geen kaart. Doorgaan ?", vbYesNo) Then Exit Sub
    End If
maar dan krijg fout melding.

De bedoeling is, dat het format alleen mag openen als ik op ja klik anders geen actie.
 
Haal die End If weg.
 
Je moet de code omdraaien:
Code:
If MsgBox("Deze klant heeft geen kaart. Doorgaan ?", vbYesNo) = VBNo Then Exit Sub
 
Ik probeer t op deze manier op te lossen maar lukt niet echt.
Ik doe vast wel iets niet goed.

Code:
Sub Open_Word_Document()
    Dim objWord As Object
    Dim wDoc As String

    Set objWord = CreateObject("Word.Application")
    objWord.Visible = True
    
    wDoc = "H:\Klant\format.docx"
    If Dir(wDoc) <> "" Then
        objWord.Documents.Open wDoc
    If MsgBox("Deze klant heeft geen kaart. Doorgaan ?", vbYesNo) = vbNo Then Exit Sub
    Else
        objWord.Documents.Open "H:\Test\format.docx"
    End If
End Sub
 
Ik denk dat je dit bedoelt:
Code:
Sub Open_Word_Document()
    Dim objWord As Object
    Dim wDoc As String

    Set objWord = CreateObject("Word.Application")
    objWord.Visible = True
    
    wDoc = "H:\Klant\format.docx"
    If Dir(wDoc) <> "" Then
        objWord.Documents.Open wDoc
    Else
        If MsgBox("Deze klant heeft geen kaart. Doorgaan ?", vbYesNo) = vbYes Then
            objWord.Documents.Open "H:\Test\format.docx"
        Else
            objWord.Quit
        End If
    End If
End Sub
 
Laatst bewerkt:
En toch hè, waarom iets openen dat je niet nodig hebt? Ik blijf het een rare oplossing vinden. Open Word alleen als het nodig is; elke andere oplossing kost alleen maar tijd.
 
Code:
Sub M_snb()
  if dir("H:\klanten\klant1.doc")<>"" then getobject("H:\klanten\klant1.doc").windows(1).visible=true
End Sub
 
Ik heb veel klanten en deze hebben allemaal een map met daarin onder ander een word bestand. Dat bestand houd ik bij. In het begin heeft een klant geen bestand in de map. Wordt later toegevoegd. Op deze manier kan ik per klant zien of degene een bestand heeft zo niet dan voeg ik dat toe.

Bedankt allemaal voor bedachte oplossing. Oplossing van edmoor sluit aan wat ik wil. Er is een probleem, in deze oplossing wordt eerst het document geopend en dan kan ja of nee kiezen.

Ik zou graag willen dat het word pas opent als ik ja heb geklikt. En bij nee dan gebeurt niets.
 
Het voorbeeld in #10:
Als H:\Klant\format.docx bestaat wordt deze geopend en wordt er geen vraag gesteld.
Als die niet bestaat wordt de vraag gesteld en bij Ja wordt dan H:\Test\format.docx geopend.
Anders wordt er niks geopend en het Word object afgesloten.
 
In theorie klopt wat jij zegt.
Maar Ik zie dat Word op achtergrond wordt geopend. Dit zie ik op taakbalk. Op het moment dat ik op nee klink zie je het word bestand verdwijnen.
 
Laatst bewerkt:
Klopt, er wordt een Word object gemaakt, niet een document geopend.
Dat zijn twee totaal verschillende dingen.
 
Laatst bewerkt:
waarom iemand lastig vallen met een overbodige vraag ?

Code:
Sub M_snb()
  c00="H:\klanten\klant1.doc"

  if dir(c00)="" then createobject("Word.document").saveas2 c00
  getobject(c00).windows(1).visible=true
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan