Avatar billede folj Forsker
19. maj 2014 - 13:46 Der er 1 kommentar og
2 løsninger

VBA som sender et kopi ef den kørende excel-fil som vedhæftet fil

Hej eksperter.

Lige et konkret spørgsmål, selvom jeg har andre åbne spørgsmål der endnu ikke er færdigafklaret. Grundet prioritering af mine arbejdsopgaver.
Jeg har en længere kode, som er hentet her fra eksperten.
Koden sender et kopi ef den kørende excel-fil som vedhæftet fil.

Sub Mail_ActiveSheet()
' sender kopi af plan som vedhæftet fil til de initialer der er defineret i de dedikerede celler i arket Settings
'For Tips see: http://www.rondebruin.nl/win/winmail/div/tips.htm
'Working in Excel 2000-2013
    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 i As Long

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

    Set Sourcewb = ActiveWorkbook

    'Copy the sheet to a new workbook
    ActiveSheet.Copy
    Set Destwb = ActiveWorkbook

    'Determine the Excel version and file extension/format
    With Destwb
        If Val(Application.Version) < 12 Then
            'You use Excel 97-2003
            FileExtStr = ".xls": FileFormatNum = -4143
        Else
            'You use Excel 2007-2013
            Select Case Sourcewb.FileFormat
            Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
            Case 52:
                If .HasVBProject Then
                    FileExtStr = ".xlsm": FileFormatNum = 52
                Else
                    FileExtStr = ".xlsx": FileFormatNum = 51
                End If
            Case 56: FileExtStr = ".xls": FileFormatNum = 56
            Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
            End Select
        End If

    End With

    '    'Change all cells in the worksheet to values if you want
    '    With Destwb.Sheets(1).UsedRange
    '        .Cells.Copy
    '        .Cells.PasteSpecial xlPasteValues
    '        .Cells(1).Select
    '    End With
    '    Application.CutCopyMode = False

    'Save the new workbook/Mail it/Delete it
    TempFilePath = Environ$("temp") & "\"
    TempFileName = "Kopi af plan " & Format(Now, "YYYYMMDD")

    With Destwb
        .SaveAs TempFilePath & TempFileName & FileExtStr, _
                FileFormat:=FileFormatNum
               
        On Error Resume Next
       
        Dim MailToInits As Variant
        ThisWorkbook.Sheets("Settings").Activate
        MailToInits = Range("MailToInits") ' definerer hvor mange rækker der skal løbes igennem

        For i = 1 To UBound(MailToInits, 2) ' løber kolonnen med initialer igennem indtil rækk4 14
          If Len(MailToInits(1, i)) < 5 Then ' tjekker at modtager er defineret som initaler (max 4 tegn)
          ToMailAdr = LCase(MailToInits(1, i)) & "@OurDomain.com" ' bygger emailadressen op ud fra inits
          End If
            .SendMail ToMailAdr, _
                      "Kopi af plan (vedhæftet fil)..." '<--Adresse og Emne tilrettes
            If Err.Number = 0 Then Exit For
        Next i
        On Error GoTo 0
        .Close SaveChanges:=False
    End With

    'Delete the file you have send
'    Kill TempFilePath & TempFileName & FileExtStr

    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
Sheets(1).Select
End Sub


Problem-linien er den 8. linie fra neden der hedder
Kill TempFilePath & TempFileName & FileExtStr


Excel svarer, at den ikke kunne finde den omtalte fil der skal slettes.

Jeg ved ikke om det i længden giver problemer at jeg ikke får dem slattet, men hvor skal jeg lede efter disse midlertidige filer mon. Er der en der kan hjælpe mig på vej.
Gætter på at det er på min egen PC (og ikke det fællesdrev hvor den filen med vba-koden ligger), men har jeg ret i det.
Er der nogen der kan hjælpe mig på vej til hvad det er jeg skal lede efter...
Avatar billede supertekst Ekspert
19. maj 2014 - 16:08 #1
Prøv at checke om du kan finde filen. Måske bliver den ikke gemt.
Avatar billede folj Forsker
20. maj 2014 - 09:23 #2
Ja. Jeg forsøgte faktisk at afvikle samme script igen, og da advarede excel mig om at den midlertidige fil allerede fandtes,og fortalte mig stien til den fil, jeg kunne vælge at overskrive...

Derefter var den lige til at finde og ganske rigtigt - på min egen PC.

Jeg vil nu holde øje med om disse midlertidige filer hober sig op på min PC, eller om de slettes ved nedluk af maskinen eller lign...

tak for dig engagement, i et af mine spørgsmål igen, supertekst.
hvis du smider et svar, så får du andel i point.
Avatar billede supertekst Ekspert
20. maj 2014 - 09:47 #3
Selv tak -
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester