Application.FileSearch in 2007 werk niet

Status
Niet open voor verdere reacties.

pakiko

Gebruiker
Lid geworden
4 apr 2010
Berichten
13
Beste Programmeurs,

Ik heb het onderstaande stukje script in Word 2000 al jaren werkend. Nu ben ik bezig dit om te zetten naar Word 2007. Echter Application.FileSearch werk niet meer in 2007.

Hoe kan ik het best dit omzetten zodat het onderstaande weer werkt.

Graag aangeven in onderstaande script. Ben nog niet zo goed in VBA?:o

Groet,

Pakiko


Private Sub cmdZoek_Click()
Dim text1 As String
Dim text2 As String
Dim text3 As String

tbOrder.SetFocus 'Stelt de focus in voor het invulveld

If tbOrder.Value = "" Then
MsgBox " U dient een ordernummer in te vullen! "
Else
With Application.FileSearch
.LookIn = "H:\temp"
.FileName = tbOrder.Value
If .Execute > 0 Then
text1 = "Je hebt gezocht naar ordernummer " & tbOrder & ". Deze order is : "
text2 = "Gevonden"
text3 = "Klik op OK om het bestand te openen."
lblOrder.Caption = text1
lblResultaat.Caption = text2
lblResultaat.BackColor = wdColorBrightGreen
lblActie.Caption = text3
cmdOK.Visible = True
Else
text1 = "Je hebt gezocht naar ordernummer " & tbOrder & ". Deze order is : "
text2 = "Niet gevonden"
text3 = "Klik op Opslaan om een nieuw montage formulier aan te maken."
lblOrder.Caption = text1
lblResultaat.Caption = text2
lblResultaat.BackColor = wdColorRed
lblActie.Caption = text3
End If
End With
End If
End Sub
 
Code:
If Dir("H:\temp\" & tbOrder.Value) <> "" Then
   'code
End If

Kan je aub op het forum code tags plaatsen in het vervolg? Dankje.

Wigi
 
Onderstaande code aangepast. Foutmelding is verdwenen.

Echter als ik nu een word document met de bestandsnaam 1.docx maak, of een andere naam, dan vind hij deze niet in de aangegeven map.

Hij komt dus met de melding "niet gevonden" terwijl deze wel in de map staat.

Wat heb ik alsnog niet goed gedaan?

Code:
                If Dir("E:\Testmap\" & tbOrdernummer.Value) <> "" Then
                           text1 = "U heeft gezocht naar ordernummer " & tbOrdernummer & ". Deze order is :"
                           text2 = "Gevonden."
                           test3 = "Klik op OK om het bestand te openen."
                           
                           lblOrder.Caption = text1
                           lblResultaat.Caption = text2
                           lblResultaat.BackColor = wdColorBrightGreen
                           lblActie.Caption = text3
                           
                           cmbOK.Visible = True
                           
                                Else
                                text1 = "U heeft gezocht naar ordernummer " & tbOrdernummer & ". Deze order is : "
                                text2 = "Niet gevonden."
                                text3 = "Klik op opslaan om het nieuwe productievoorblad op te slaan"
                                
                                lblOrder.Caption = text1
                                lblResultaat.Caption = text2
                                lblResultaat.BackColor = wdColorRed
                                lblActie.Caption = text3
                                
                                cmbOK.Visible = False
                End If
 
Pakiko

Wellicht heb je vergeten om bij je opgave de extensie .docx in de bestandsnaam op te geven.
Bij filesearch zal dat onderwater worden aangevuld.
Ik heb een stukje code toegevoegd, die dit gemis aanvult.
Hier de code die bij mij wel werkt.

Code:
Private Sub cmdZoek_Click()
Dim text1 As String
Dim text2 As String
Dim text3 As String
Dim strDir As String

strDir = "E:\"
tbOrder.SetFocus 'Stelt de focus in voor het invulveld

If tbOrder.Value = "" Then
    MsgBox " U dient een ordernummer in te vullen! "
Else
    If InStr(tbOrder.Value, ".docx") = 0 Then
        tbOrder.Value = tbOrder.Value & ".docx"
    End If
    If Dir(strDir & tbOrder.Value) <> "" Then
                text1 = "Je hebt gezocht naar ordernummer " & tbOrder & ". Deze order is : "
                text2 = "Gevonden"
                text3 = "Klik op OK om het bestand te openen."
                lblOrder.Caption = text1
                lblResultaat.Caption = text2
                lblResultaat.BackColor = wdColorBrightGreen
                lblActie.Caption = text3
                cmdOk.Visible = True
            Else
                text1 = "Je hebt gezocht naar ordernummer " & tbOrder & ". Deze order is : "
                text2 = "Niet gevonden"
                text3 = "Klik op Opslaan om een nieuw montage formulier aan te maken."
                lblOrder.Caption = text1
                lblResultaat.Caption = text2
                lblResultaat.BackColor = wdColorRed
                lblActie.Caption = text3
                cmdOk.Visible = False
            End If
    End If
End Sub
 
Dat kan simpeler:
Code:
Private Sub cmdZoek_Click()
  If tbOrder.Value = "" Then
    MsgBox " U dient een ordernummer in te vullen! "
  Else
    cmdOk.Visible = False
    lblOrder.Caption = "Je hebt gezocht naar ordernummer " & tbOrder & ". Deze order is : " 
    If Dir(strDir & tbOrder.Value & iif(InStr(tbOrder.Value, ".docx") = 0,"docx","" ) <> "" Then cmdOk.Visible = True
    lblResultaat.Caption = iif(cmdOKVisible,"","Niet ") & "Gevonden"
    lblActie.Caption = iif(cmdOKVisible,"Klik op OK om het bestand te openen.","Klik op Opslaan om een nieuw montage formulier aan te maken.")
    lblResultaat.BackColor =iif(cmdOKVisible,wdColorBrightGreen,wdColorRed)
  End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan