2016-04-07 14 views
0

Aşağıdaki kod bir raporda button_click dosyasına eklenir. Raporu kullanıcı tarafından seçilen bir isimle kaydetmek istiyorum.Bir raporu pdf'ye kaydedin

Çalıştırıldığında, farklı kaydet iletişim kutusu açılır, ancak dosyayı kaydetmez. Bir adımı kaçırıyor muyum?

Sub SaveFile() 
    Dim fd As FileDialog 
    Dim notCancel As Boolean 
    Set fd = Application.FileDialog(msoFileDialogSaveAs) 
    With fd 
     notCancel = .Show 
     If notCancel Then 
      .Execute 
     End If 
    End With 
End Sub 
+1

Dosya adını alma ve raporu pdf biçimine dışa aktarma adımını kaçırıyorsunuz. – marlan

cevap

1

You should sonraki, İhracat:

+0

Bu, ihtiyacım olana benziyor. "rapor adı burada", istenen dosya adı değil, erişimdeki raporun adını ifade eder, doğru mu? –

+0

Evet, rapor adının bir Dize değeri. – marlan

1

Ayrıca eşit .Show ayarlı ve sonra .Execute kullanın bir If deyimi kullanarak, notCancel denilen bir boolean kararmalıdır, aşağıdaki kod bu gösteriyor rapor pdf. çizgiyi fd.Show değiştirin:

If fd.Show then 
    DoCmd.OutputTo acOutputReport, "ReportNameHere", "PDF Format (*.pdf)", fd.SelectedItems(1), True 
End IF 

son Parametre Gerçek sonra ihraç pdf açmaktır. Gerekmiyorsa lütfen kaldırın.
NOT: fd.SelectedItems (1), kullanıcının seçtiği dosyadır.