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

Wildcards

Status
Niet open voor verdere reacties.

Janzwart

Gebruiker
Lid geworden
21 nov 2011
Berichten
325
Hallo,

Ik wil een bijlage bij de mail toevoegen.
De naam van het bestand varieerd elke keer, Bv. naam001.pdf, naam002.pdf enz.
Nu heb ik geprobeerd dit op te lossen met een wildcard maar dit wil me nog niet lukken.

Ik heb de volgende code in een macro geplaatst:
Code:
.Attachments.Add "C:\Users\Naam\Documenten\" & cell.Offset(0, 2).Value & ".pdf"

Hij haalt de naam dus uit kolom C

Hoe en waar kan ik de wildcards plaatsen?
 
En als er alleen 'naam' in de cel staat. en de regel aan het eind een wildcard bevat?

Code:
.Attachments.Add "C:\Users\Naam\Documenten\" & cell.Offset(0, 2).Value & "[COLOR="red"]*.[/COLOR]pdf"
 
Ik heb de * in de code geplaatst maar nu onderbreekt hij de macro met een foutmelding en maakt hij de code geel die ik verandert heb.

De * zou de rode cijfers moeten opvangen 'Naam001.pdf'
 
Jan,

Er staat maar één .pdf bestand in de map?
cell.Offset(0,2).value is van Activesheet?
 
Ik heb wat gedaan Jan,

Eerst wilde het helemaal niet.
OutLook geînstalleerd.
Ging al beter.

Maar wat ik ook probeer het wil me niet lukken.
Ik heb maar één bestandje in een map staan, "123.pdf".
Maar ik krijg het niet verstuurt met "*.pfd"

Ook heb ik een Excel bestandje gemaakt afgelopen week om ".pfd" bestandjes te openen.
Maar met een wildcard krijg ik ook die niet open.

Nu heb ik nog één optie, en dat is met onderstaande vba-code.
Hier open je alle bestandjes mee die in dezelfde map zitten.

Code:
Sub WrkBksopen()
'Dim bestandopen
 bestandopen = Dir("D:\Excel Tips\Alle VBA om te leren\factuurnummer ophogen\*")
    Do Until bestandopen = ""
      bestandopen = Dir
       If bestandopen = "" Then Exit Do
        Workbooks.Open "D:\factuurnummer ophogen\" & bestandopen
        ActiveWorkbook.Sheets("Blad3").Range("A1") = "GOED"
        Workbooks(bestandopen).Close True
    Loop
End Sub

Misschien dat ik daar nog wat mee kan, maar misschien jij zelf ook.

Ik verneem het wel als het je lukt, of niet.
 
Met onderstaande functie ga je op zoek naar de volledige bestandsnaam met gebruik van een gedeeltelijke naam.
Code:
Function GetFullFileName(strfilepath As String, strFileNamePartial As String) As String
Dim objFolder As Variant, objFile As Variant, strfilenamefull As String
Set objFolder = CreateObject("Scripting.FileSystemObject").GetFolder(strfilepath)
For Each objFile In objFolder.Files
    If Left(objFile.Name, Len(strFileNamePartial)) = strFileNamePartial Then
        strfilenamefull = objFile.Name
        Exit For
    Else
    End If
Next objFile
GetFullFileName = strfilenamefull
End Function

Wijzig de regel om de bijlage toe te voegen
Code:
.Attachments.Add "C:\Users\Jan\Documents\" & GetFullFileName("C:\Users\Jan\Documents", cell.Offset(0, 2).Value)

Hiermee zou het moeten lukken (bij mijn test alleszins wel :D)
 
Erg mooi Rudi. :thumb:
 
@Harry
Kan je mij (als je wil)je emailadres nog eens doormailen, want ben na een crash mijn volledige adresboek kwijtgeraakt :evil:
 
@Rudi

Hartelijk bedankt, de code werkt perfect.

@Harry

Ook bedankt voor de tijd die je in dit probleem hebt gestoken.

Zonder jullie hulp was ik kansloos.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan