2011-08-04 3 views
3

큰 매크로의 일부로 파일을 PDF로 내보내려고합니다. 그러나 사용자에게 파일을 원하는 디렉토리에 저장하는 옵션을 제공하고 싶습니다. 탐색 대화 상자를 사용하면이 파일이 가장 쉽다고 생각합니다. 그러나, 나는 위로 당기는 방법을 알아낼 수 없다. 현재, 내 코드는 다음과 같습니다.VBA 매크로의 다른 위치에 저장 대화 상자

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
    "C:\Users\<filepath>\11.08E PT5 Executive Summary - v3.2.pdf", _ 
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ 
    :=False, From:=1, To:=3, OpenAfterPublish:=True 

대화 상자의 결과로 바꾸고 싶습니다.

답변

5

Application.GetSaveAsFilename.

dim v as variant 
v = Application.GetSaveAsFilename("11.08E PT5 Executive Summary - v3.2.pdf", "PDF Files (*.pdf), *.pdf") 

if vartype(v) = vbString then 
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=v, _ 
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, From:=1, To:=3, OpenAfterPublish:=True 
end if 
+0

이 스레드에 늦지 만 'From : = 1, To : = 3'부분의 이유 또는 논리가 무엇인지 궁금합니다. 나는 배우고 있으며 왜 이것이 거기에 있는지, 그것이 무엇인지에 대해서는 잘 알지 못한다. – Rivers31334

+0

또한이 방법을 사용하면 저장 상자가 열릴 때 기본 파일 경로가 무엇인지 프로그램에서 어떻게 알 수 있습니까? – Rivers31334

+0

@ Rivers31334 'From : = 1, To : = 3'은 실제로 질문과 관련이 없습니다. 그게 OP의 코드에서 복사했기 때문입니다. 1에서 3까지의 페이지 만 저장하기로되어 있지만 이것도 [Range : = wdExportFromTo'] (https://msdn.microsoft.com/en-us/library/bb256835%28v=office.12%29)가 필요합니다. .aspx) OP가 없었기 때문에 결국 아무 효과가 없을 수도 있습니다. 기본 파일 경로는 [현재 디렉토리] (http://stackoverflow.com/a/5944101/11683)입니다. – GSerg

관련 문제