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

Bestand opslaan in gebruikers folder / Downloads

Status
Niet open voor verdere reacties.

vrouw

Terugkerende gebruiker
Lid geworden
27 mrt 2010
Berichten
1.434
Hoi.

Ik wil een bestand "portable" maken door het op te slaan in de gebruikers folder / Downloads.

Ik lees over (Environ("USERPROFILE") maar ook over %userprofile%/Downloads

Ik kom er niet uit hoe het op te slaan om ht daarna weer met ..AddAttachment in een mail als bijlage te voegen.
 
Environ("USERPROFILE") is voor gebruik in Visual Basic.
%userprofile% is hetzelde maar dan om die locatie te bereiken in de adresbalk van de Verkenner of in een command prompt.
 
Oke, maar dit werkt niet.
Code:
myFolderName = Environ("userprofile") & "\Downloads\"
   ActiveWorkbook.SaveAs Filename:=userprofile / test.xlsx
 
Klopt, dat is niet goed.
Maak er dit van:
Code:
ActiveWorkbook.SaveAs Filename:=Environ("userprofile") & "\Downloads\test.xlsm"

Het moet .xlsm zijn als je je document wilt opslaan als document met macro's.
 
Laatst bewerkt:
en om als bijlage in de mail te hangen word zo?


Code:
.AddAttachment = Environ("userprofile") & "\Downloads\test.xlsm"
 
Wat dat pad betreft, dat is correct.
 
Helaas \Downloads\test.xlsm word niet als attachment in de mail gezet.
 
Toch is het goed als het gaat om het pad en document.

Je laat alleen je mail code niet zien en weet ik dus niet wat je gebruikt.
Daar is het nu van afhankelijk.
 
Dat is deze.

Code:
'    Sub Email_Workbook()
  
   Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim Sourcewb As Workbook
    Dim Destwb As Workbook
    Dim TempFilePath As String
    Dim TempFileName As String
    Dim iMsg As Object
    Dim iConf As Object
    Dim Flds As Variant

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")

        iConf.Load -1    ' CDO Source Defaults
        Set Flds = iConf.Fields
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.XXXXX.nl"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            .Update
        End With
                                     
    With iMsg
        Set .Configuration = iConf
        .To = "123@123.nl"
        .CC = ""
        .BCC = ""
        .From = """TEST"" 123@123.nl"
        .Subject = "TEST !!"
        .TextBody = "Beste , " & vbCrLf & vbCrLf & _
        "Hierbij ontvangt u de:" & vbCrLf & _
        "Realisatie " & vbCrLf & vbCrLf & _
        "met vriendelijk groet," & vbCrLf & _
        "Team ."
        .AddAttachment = Environ("userprofile") & "\Downloads\test.xlsm"
        .Send
    End With
 
Dat = teken hoort er niet in bij CDO gebruik.
Dus:
Code:
.AddAttachment Environ("userprofile") & "\Downloads\test.xlsm"
 
Jammer nog steeds zonder attachment.
Het is een drama... ben er al de hele dag mee bezig en het wil maar niet lukken :-(
 
Toch is dat goed.
Het mailen zelf werkt wel?

Plaats anders je bestand hier eens.
Of kijk eens naar een algemeen CDO voorbeeld dat ik hier vaker plaatste:
Bekijk bijlage CDO Mail.xlsm
 
Ja het mailen gaat goed.

bestand is dusdanig dat ik zeker een uur bezig ben met het opschonen van de code voor op het www:eek:
 
Ik denk dat het niet bijgevoegd kan worden omdat het nog open staat.

Maar als ik het sluit dan sluit ik de code ook:eek:
 
Zo zou het moeten werken zie de code :

Code:
Sub Email_Workbook()  
    Dim iMsg As Object
    Dim iConf As Object
    Dim Flds As Variant

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
    ActiveWorkbook.SaveCopyAs Environ("userprofile") & "\Downloads\test.xlsm"
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")

        iConf.Load -1    ' CDO Source Defaults
        Set Flds = iConf.Fields
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.XXXXX.nl"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            .Update
        End With
                                     
    With iMsg
        Set .Configuration = iConf
        .To = "123@123.nl"
        .CC = ""
        .BCC = ""
        .From = """TEST"" 123@123.nl"
        .Subject = "TEST !!"
        .TextBody = "Beste , " & vbCrLf & vbCrLf & _
        "Hierbij ontvangt u de:" & vbCrLf & _
        "Realisatie " & vbCrLf & vbCrLf & _
        "met vriendelijk groet," & vbCrLf & _
        "Team ."
        .AddAttachment Environ("userprofile") & "\Downloads\test.xlsm"
        .Send
    End With
    Set iMsg = Nothing
    Set iConf = Nothing
    Set Flds = Nothing
    With Application
        .ScreenUpdating = True
        .EnableEvents =True
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan