Usando o Crystal Reports 8.5 eu consegui fazer em tempo de execução.
Dim appl As New CRAXDRT.Application
Dim CrReport As CRAXDRT.Report
Set CrReport = appl.OpenReport(sgServerPath & "RelatoriosPROMOCAO.rpt", 1)
With CrReport
.ExportOptions.DiskFileName = sgServerPath & "Lista" & Format(ilPromocao, "000000") & ".pdf"
.ExportOptions.DestinationType = crEDTDiskFile
.ExportOptions.FormatType = crEFTPortableDocFormat
.ParameterFields.Item(1).AddCurrentValue lgEmpresa
.ParameterFields.Item(2).AddCurrentValue ilPromocao
.DisplayProgressDialog = False
.Export False
End With
Onde lgEmpresa é o código da empresa e ilPromocao é o numero da promoção