vba to save wksht as PDF but remove disallowed filename characters first

cjcass

Well-known Member
Joined
Oct 27, 2011
Messages
679
Office Version
  1. 2016
Platform
  1. Windows
Hi,
I have the following code that saves an excel worksheet as a PDF and give the user the ability to change a pre-defined filename using a cell value.
Can I have the code so it automatically changes a / (fwd slash) in the pre-defined filename to a , (comma)?
Thanks

Code:
Dim Opendialog As Variant


Opendialog = Application.GetSaveAsFilename(Sheet18.[B1].Value, "PDF (*.pdf), *.pdf")


ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Opendialog _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
 

Excel Facts

How to change case of text in Excel?
Use =UPPER() for upper case, =LOWER() for lower case, and =PROPER() for proper case. PROPER won't capitalize second c in Mccartney
Hi,

Code:
Dim Opendialog As String

Opendialog = Application.GetSaveAsFilename(Replace(Sheet18.[B1].Value, "/", ","), "PDF (*.pdf), *.pdf")

Opendialog = Replace(Opendialog, "/", ",")



Isn't a comma also a forbidden character ? I'm not sure.
 
Last edited:
Upvote 0
Ok, thanks a lot that works well.
I've just spotted something else though that's not great with this code - when you get to the point of pressing 'Save' but you decide to 'Cancel' and not save the PDF, it still saves it and names the PDF 'FALSE'
Any thoughts on how I could get round this?
 
Upvote 0
Brilliant, one final thing I've just noticed is that if you try and save a file with the same filename as an existing file it doesn't prompt you to see if you want to overwrite it, it just overwrites it automatically, any thoughts?
 
Upvote 0
After Opendialog :

Code:
    If Dir(Opendialog) <> "" Then
        Err = MsgBox("File already exists. Do you want to overwrite existing file ?", vbQuestion + vbYesNo, "File already exists")
        If Err = vbNo Then Exit Sub
    End If
 
Upvote 0
That's great, thanks for your time on this, much appreciated :)
 
Upvote 0

Forum statistics

Threads
1,215,026
Messages
6,122,743
Members
449,094
Latest member
dsharae57

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top