Vraag


Acties:
  • 0 Henk 'm!

  • VBAA
  • Registratie: Juli 2022
  • Laatst online: 08-08-2022
Goedemiddag,

Ik heb een vraag over VBA. Ik probeer om VBA een PDF te laten maken en vervolgens als bijlage toe te voegen in de mail. Het probleem is hiermee dat VBA de spaties in de pdfnaam aanpast naar %20 als het excelbestand is opgeslagen op een onedrive. Is het mogelijk om op een simpele manier ervoor te zorgen dat de %20 worden omgezet naar spaties? Onderstaande code is voor het maken van de email als de pdf al is gemaakt.

Sub Maak_PDF_Mail()
Dim PDFnaam As String
Dim OutApp As Object
Dim OutMail As Object
Dim Medewerker As String
Dim Maand As String
Dim Leidinggevende As String
Dim Mailleidinggevende As String
Dim oOutlook As Object

On Error Resume Next
Set oOutlook = GetObject(, "Outlook.Application")
On Error GoTo 0

If oOutlook Is Nothing Then
MsgBox "Outlook app is niet open, open de applicatie en probeer opnieuw"
Else

Medewerker = Range("E98")
Maand = Range("E99")
Leidinggevende = Range("E101")
Mailleidinggevende = Range("E102")
Pad = ActiveWorkbook.Path + "\"

PDFnaam = Range("M1") & Space(1) & "Urenstaat" & Space(1) & _
Maand & Space(1) & _
Medewerker & Space(1) & ".pdf" 'Maakt de naam van de PDF

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
.To = Mailleidinggevende
.CC = ""
.BCC = ""
.Subject = "Urenstaat" & " " & Maand & " " & Medewerker
.Body = "Beste " & Leidinggevende & "," & vbNewLine & vbNewLine
.Attachments.Add Pad + PDFnaam
.Display
End With

Set OutMail = Nothing
Set OutApp = Nothing
End If
End Sub

Alle reacties


Acties:
  • 0 Henk 'm!

  • HKLM_
  • Registratie: Februari 2009
  • Laatst online: 22:38
VBA is niet echt toekomst bestendig aangezien microsoft vorige week is beginnen met het blokkeren van VBA en Macros in de nieuwe office updates

Cloud ☁️


Acties:
  • 0 Henk 'm!

  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 01-07 22:51
Geen idee of het een hulp is, maar ook '=CELL()' geeft in excel de filename met %20 ipv spaties wanneer deze op een Sharepoint of OneDrive staat.

Ik stel me ook de vraag of vba inderdaad de beste manier is om bestanden te delen. Als het al op OneDrive staat, waarom dan nog een pdf doormailen?

Acties:
  • +1 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 21:59

DukeBox

Voor je 't weet wist je 't nie

Meestal krijg je %20 issues bij het niet escapen van bestandsnamen en/of HTML special characters. Ik weet niet hoe dat met VBA zit maar dat zal vast niet anders werken.

[ Voor 9% gewijzigd door DukeBox op 25-07-2022 22:42 ]

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • dixet
  • Registratie: Februari 2010
  • Laatst online: 22:04
Als je de pdf als test lokaal op slaat in plaats van op Onedrive krijg je dan ook %20 in plaats van spaties?
Ik vermoed dat het geen VBA issue is, maar dat bestanden op onedrive url-encoded worden. In Explorer wordt dat netjes weer gedecode, maar in VBA blijkbaar niet.

Wellicht kan je iets met het verschil tussen FullName en FullNameURLEncoded

testbestandje op onedrive genaamd "mapnaam met spaties.xlsx"
code:
1
2
3
4
? activeworkbook.FullName 
https://d.docs.live.net/eed381315d922516/Documents/mapnaam met spaties.xlsx
? activeworkbook.FullNameURLEncoded  
https://d.docs.live.net/eed381315d922516/Documents/mapnaam%20met%20spaties.xlsx

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

HKLM_ schreef op maandag 25 juli 2022 @ 21:37:
VBA is niet echt toekomst bestendig aangezien microsoft vorige week is beginnen met het blokkeren van VBA en Macros in de nieuwe office updates
offtopic:
Voor jezelf blijft het -AFAIK- prima bruikbaar. Self signing en gaan blijft kunnen toch?

Als je ze ook wilt delen met anderen wordt het (terecht) lastiger zelf ff een macrootje te delen.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • mafl
  • Registratie: Juni 2021
  • Laatst online: 27-06 10:32
desnoods Replace(PDFNaam, "%20", " ")?
Pagina: 1