VBA Export Excel to PDF










0















I'm getting a '1004' error when running this macro.



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/filename.pdf", _
OpenAfterPublish:=False
End Sub


Image of the Error



enter image description here



This same code works fine if the name of the file is "PDF.pdf". It seems like I can only export the PDF with the name "PDF.pdf".



The code below returns no errors. Why is this happening?



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/pdf.pdf", _
OpenAfterPublish:=False
End Sub









share|improve this question
























  • So add another bit of code to rename the pdf.pdf after it has been exported...

    – Solar Mike
    Nov 12 '18 at 22:24











  • I've only ever used Windows, but can you start a filepath with a forward slash like that on a Mac?

    – dwirony
    Nov 12 '18 at 22:31











  • @dwirony the forward slash works fine in Mac. The file "PDF.pdf" was created manually before the macro was run – while "Filename.pdf" doesn't exist. Is there anything in the Document properties that could be causing the error?

    – Gonzalo
    Nov 12 '18 at 22:52











  • Are you sure that it is not just that filename.pdf is open somewhere?

    – RichardBJ
    Nov 12 '18 at 23:20











  • @RichardBJ initially I also thought about that. I checked it and all files are closed

    – Gonzalo
    Nov 12 '18 at 23:26















0















I'm getting a '1004' error when running this macro.



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/filename.pdf", _
OpenAfterPublish:=False
End Sub


Image of the Error



enter image description here



This same code works fine if the name of the file is "PDF.pdf". It seems like I can only export the PDF with the name "PDF.pdf".



The code below returns no errors. Why is this happening?



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/pdf.pdf", _
OpenAfterPublish:=False
End Sub









share|improve this question
























  • So add another bit of code to rename the pdf.pdf after it has been exported...

    – Solar Mike
    Nov 12 '18 at 22:24











  • I've only ever used Windows, but can you start a filepath with a forward slash like that on a Mac?

    – dwirony
    Nov 12 '18 at 22:31











  • @dwirony the forward slash works fine in Mac. The file "PDF.pdf" was created manually before the macro was run – while "Filename.pdf" doesn't exist. Is there anything in the Document properties that could be causing the error?

    – Gonzalo
    Nov 12 '18 at 22:52











  • Are you sure that it is not just that filename.pdf is open somewhere?

    – RichardBJ
    Nov 12 '18 at 23:20











  • @RichardBJ initially I also thought about that. I checked it and all files are closed

    – Gonzalo
    Nov 12 '18 at 23:26













0












0








0








I'm getting a '1004' error when running this macro.



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/filename.pdf", _
OpenAfterPublish:=False
End Sub


Image of the Error



enter image description here



This same code works fine if the name of the file is "PDF.pdf". It seems like I can only export the PDF with the name "PDF.pdf".



The code below returns no errors. Why is this happening?



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/pdf.pdf", _
OpenAfterPublish:=False
End Sub









share|improve this question
















I'm getting a '1004' error when running this macro.



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/filename.pdf", _
OpenAfterPublish:=False
End Sub


Image of the Error



enter image description here



This same code works fine if the name of the file is "PDF.pdf". It seems like I can only export the PDF with the name "PDF.pdf".



The code below returns no errors. Why is this happening?



Sub macro_PDF()

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:="/Users/username/Desktop/tests/pdf.pdf", _
OpenAfterPublish:=False
End Sub






excel vba excel-vba pdf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 '18 at 7:19









Pᴇʜ

23.8k62952




23.8k62952










asked Nov 12 '18 at 22:20









GonzaloGonzalo

147




147












  • So add another bit of code to rename the pdf.pdf after it has been exported...

    – Solar Mike
    Nov 12 '18 at 22:24











  • I've only ever used Windows, but can you start a filepath with a forward slash like that on a Mac?

    – dwirony
    Nov 12 '18 at 22:31











  • @dwirony the forward slash works fine in Mac. The file "PDF.pdf" was created manually before the macro was run – while "Filename.pdf" doesn't exist. Is there anything in the Document properties that could be causing the error?

    – Gonzalo
    Nov 12 '18 at 22:52











  • Are you sure that it is not just that filename.pdf is open somewhere?

    – RichardBJ
    Nov 12 '18 at 23:20











  • @RichardBJ initially I also thought about that. I checked it and all files are closed

    – Gonzalo
    Nov 12 '18 at 23:26

















  • So add another bit of code to rename the pdf.pdf after it has been exported...

    – Solar Mike
    Nov 12 '18 at 22:24











  • I've only ever used Windows, but can you start a filepath with a forward slash like that on a Mac?

    – dwirony
    Nov 12 '18 at 22:31











  • @dwirony the forward slash works fine in Mac. The file "PDF.pdf" was created manually before the macro was run – while "Filename.pdf" doesn't exist. Is there anything in the Document properties that could be causing the error?

    – Gonzalo
    Nov 12 '18 at 22:52











  • Are you sure that it is not just that filename.pdf is open somewhere?

    – RichardBJ
    Nov 12 '18 at 23:20











  • @RichardBJ initially I also thought about that. I checked it and all files are closed

    – Gonzalo
    Nov 12 '18 at 23:26
















So add another bit of code to rename the pdf.pdf after it has been exported...

– Solar Mike
Nov 12 '18 at 22:24





So add another bit of code to rename the pdf.pdf after it has been exported...

– Solar Mike
Nov 12 '18 at 22:24













I've only ever used Windows, but can you start a filepath with a forward slash like that on a Mac?

– dwirony
Nov 12 '18 at 22:31





I've only ever used Windows, but can you start a filepath with a forward slash like that on a Mac?

– dwirony
Nov 12 '18 at 22:31













@dwirony the forward slash works fine in Mac. The file "PDF.pdf" was created manually before the macro was run – while "Filename.pdf" doesn't exist. Is there anything in the Document properties that could be causing the error?

– Gonzalo
Nov 12 '18 at 22:52





@dwirony the forward slash works fine in Mac. The file "PDF.pdf" was created manually before the macro was run – while "Filename.pdf" doesn't exist. Is there anything in the Document properties that could be causing the error?

– Gonzalo
Nov 12 '18 at 22:52













Are you sure that it is not just that filename.pdf is open somewhere?

– RichardBJ
Nov 12 '18 at 23:20





Are you sure that it is not just that filename.pdf is open somewhere?

– RichardBJ
Nov 12 '18 at 23:20













@RichardBJ initially I also thought about that. I checked it and all files are closed

– Gonzalo
Nov 12 '18 at 23:26





@RichardBJ initially I also thought about that. I checked it and all files are closed

– Gonzalo
Nov 12 '18 at 23:26












1 Answer
1






active

oldest

votes


















0














I have run/debugged this a few times on my PC and of course, the name of the file makes no difference. Filename.pdf exports just fine. This error seems to have two potential causes. (1) Is that the file path itself was not found, the other (2) is that the file already exists. So check that first like this:



Sub macro_PDF()
Filename = "c:/fmob/filename.pdf"
If Dir(Filename) <> vbNullString Then
Kill Filename
End If
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Filename, _
OpenAfterPublish:=False
End Sub


I encountered one situation where the macro could not write the file even after deleting longhand (i.e., using explorer) and this seems to have resulted from a bug of some sort with PDF Acrobat not closing all file handles correctly. Presumably rebooting would fix that.






share|improve this answer

























  • I really liked the idea about adding the Dircommand. I copied and pasted your code to test it. The Dir command is not finding the file – I guess that there's an issue with the route – so I added the following code to make sure i'm pointing to the right file. However it's still not working right :-( Dim path As String Dim FileName As String path = ThisWorkbook.path FileName = "filename.pdf" If Dir(path & FileName) <> vbNullString Then Kill (path & "/" & FileName) End If

    – Gonzalo
    Nov 14 '18 at 18:13












  • I found that in a Mac I have to replace the slashes ("/") by colons (":") inside Filename.path. The macro always creates a new PDF or it overwrites the existing file. The Kill Filenamenever works. I don't understand why the same code creates a new file in the destination folder but can't find that file if it already exists. any help? thnx

    – Gonzalo
    Nov 14 '18 at 22:20











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270930%2fvba-export-excel-to-pdf%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














I have run/debugged this a few times on my PC and of course, the name of the file makes no difference. Filename.pdf exports just fine. This error seems to have two potential causes. (1) Is that the file path itself was not found, the other (2) is that the file already exists. So check that first like this:



Sub macro_PDF()
Filename = "c:/fmob/filename.pdf"
If Dir(Filename) <> vbNullString Then
Kill Filename
End If
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Filename, _
OpenAfterPublish:=False
End Sub


I encountered one situation where the macro could not write the file even after deleting longhand (i.e., using explorer) and this seems to have resulted from a bug of some sort with PDF Acrobat not closing all file handles correctly. Presumably rebooting would fix that.






share|improve this answer

























  • I really liked the idea about adding the Dircommand. I copied and pasted your code to test it. The Dir command is not finding the file – I guess that there's an issue with the route – so I added the following code to make sure i'm pointing to the right file. However it's still not working right :-( Dim path As String Dim FileName As String path = ThisWorkbook.path FileName = "filename.pdf" If Dir(path & FileName) <> vbNullString Then Kill (path & "/" & FileName) End If

    – Gonzalo
    Nov 14 '18 at 18:13












  • I found that in a Mac I have to replace the slashes ("/") by colons (":") inside Filename.path. The macro always creates a new PDF or it overwrites the existing file. The Kill Filenamenever works. I don't understand why the same code creates a new file in the destination folder but can't find that file if it already exists. any help? thnx

    – Gonzalo
    Nov 14 '18 at 22:20
















0














I have run/debugged this a few times on my PC and of course, the name of the file makes no difference. Filename.pdf exports just fine. This error seems to have two potential causes. (1) Is that the file path itself was not found, the other (2) is that the file already exists. So check that first like this:



Sub macro_PDF()
Filename = "c:/fmob/filename.pdf"
If Dir(Filename) <> vbNullString Then
Kill Filename
End If
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Filename, _
OpenAfterPublish:=False
End Sub


I encountered one situation where the macro could not write the file even after deleting longhand (i.e., using explorer) and this seems to have resulted from a bug of some sort with PDF Acrobat not closing all file handles correctly. Presumably rebooting would fix that.






share|improve this answer

























  • I really liked the idea about adding the Dircommand. I copied and pasted your code to test it. The Dir command is not finding the file – I guess that there's an issue with the route – so I added the following code to make sure i'm pointing to the right file. However it's still not working right :-( Dim path As String Dim FileName As String path = ThisWorkbook.path FileName = "filename.pdf" If Dir(path & FileName) <> vbNullString Then Kill (path & "/" & FileName) End If

    – Gonzalo
    Nov 14 '18 at 18:13












  • I found that in a Mac I have to replace the slashes ("/") by colons (":") inside Filename.path. The macro always creates a new PDF or it overwrites the existing file. The Kill Filenamenever works. I don't understand why the same code creates a new file in the destination folder but can't find that file if it already exists. any help? thnx

    – Gonzalo
    Nov 14 '18 at 22:20














0












0








0







I have run/debugged this a few times on my PC and of course, the name of the file makes no difference. Filename.pdf exports just fine. This error seems to have two potential causes. (1) Is that the file path itself was not found, the other (2) is that the file already exists. So check that first like this:



Sub macro_PDF()
Filename = "c:/fmob/filename.pdf"
If Dir(Filename) <> vbNullString Then
Kill Filename
End If
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Filename, _
OpenAfterPublish:=False
End Sub


I encountered one situation where the macro could not write the file even after deleting longhand (i.e., using explorer) and this seems to have resulted from a bug of some sort with PDF Acrobat not closing all file handles correctly. Presumably rebooting would fix that.






share|improve this answer















I have run/debugged this a few times on my PC and of course, the name of the file makes no difference. Filename.pdf exports just fine. This error seems to have two potential causes. (1) Is that the file path itself was not found, the other (2) is that the file already exists. So check that first like this:



Sub macro_PDF()
Filename = "c:/fmob/filename.pdf"
If Dir(Filename) <> vbNullString Then
Kill Filename
End If
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Filename, _
OpenAfterPublish:=False
End Sub


I encountered one situation where the macro could not write the file even after deleting longhand (i.e., using explorer) and this seems to have resulted from a bug of some sort with PDF Acrobat not closing all file handles correctly. Presumably rebooting would fix that.







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 13 '18 at 12:56

























answered Nov 13 '18 at 12:44









RichardBJRichardBJ

1665




1665












  • I really liked the idea about adding the Dircommand. I copied and pasted your code to test it. The Dir command is not finding the file – I guess that there's an issue with the route – so I added the following code to make sure i'm pointing to the right file. However it's still not working right :-( Dim path As String Dim FileName As String path = ThisWorkbook.path FileName = "filename.pdf" If Dir(path & FileName) <> vbNullString Then Kill (path & "/" & FileName) End If

    – Gonzalo
    Nov 14 '18 at 18:13












  • I found that in a Mac I have to replace the slashes ("/") by colons (":") inside Filename.path. The macro always creates a new PDF or it overwrites the existing file. The Kill Filenamenever works. I don't understand why the same code creates a new file in the destination folder but can't find that file if it already exists. any help? thnx

    – Gonzalo
    Nov 14 '18 at 22:20


















  • I really liked the idea about adding the Dircommand. I copied and pasted your code to test it. The Dir command is not finding the file – I guess that there's an issue with the route – so I added the following code to make sure i'm pointing to the right file. However it's still not working right :-( Dim path As String Dim FileName As String path = ThisWorkbook.path FileName = "filename.pdf" If Dir(path & FileName) <> vbNullString Then Kill (path & "/" & FileName) End If

    – Gonzalo
    Nov 14 '18 at 18:13












  • I found that in a Mac I have to replace the slashes ("/") by colons (":") inside Filename.path. The macro always creates a new PDF or it overwrites the existing file. The Kill Filenamenever works. I don't understand why the same code creates a new file in the destination folder but can't find that file if it already exists. any help? thnx

    – Gonzalo
    Nov 14 '18 at 22:20

















I really liked the idea about adding the Dircommand. I copied and pasted your code to test it. The Dir command is not finding the file – I guess that there's an issue with the route – so I added the following code to make sure i'm pointing to the right file. However it's still not working right :-( Dim path As String Dim FileName As String path = ThisWorkbook.path FileName = "filename.pdf" If Dir(path & FileName) <> vbNullString Then Kill (path & "/" & FileName) End If

– Gonzalo
Nov 14 '18 at 18:13






I really liked the idea about adding the Dircommand. I copied and pasted your code to test it. The Dir command is not finding the file – I guess that there's an issue with the route – so I added the following code to make sure i'm pointing to the right file. However it's still not working right :-( Dim path As String Dim FileName As String path = ThisWorkbook.path FileName = "filename.pdf" If Dir(path & FileName) <> vbNullString Then Kill (path & "/" & FileName) End If

– Gonzalo
Nov 14 '18 at 18:13














I found that in a Mac I have to replace the slashes ("/") by colons (":") inside Filename.path. The macro always creates a new PDF or it overwrites the existing file. The Kill Filenamenever works. I don't understand why the same code creates a new file in the destination folder but can't find that file if it already exists. any help? thnx

– Gonzalo
Nov 14 '18 at 22:20






I found that in a Mac I have to replace the slashes ("/") by colons (":") inside Filename.path. The macro always creates a new PDF or it overwrites the existing file. The Kill Filenamenever works. I don't understand why the same code creates a new file in the destination folder but can't find that file if it already exists. any help? thnx

– Gonzalo
Nov 14 '18 at 22:20




















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270930%2fvba-export-excel-to-pdf%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)