Crystal Reports를 PDF 형식으로 자동으로 내보내는 VB6 콘솔 응용 프로그램을 빌드하려고합니다. 이 작업은 사용자 상호 작용없이 수행해야합니다 (다른 이름으로 저장 또는 인쇄 대화 상자 없음). Neevia DocCreator를 사용하여 PDF로 인쇄하는 기존 응용 프로그램을 대체하는 것이지만 사용자가 각 보고서의 다른 이름으로 저장 대화 상자와 상호 작용해야합니다.Crystal Reports 8.0에서 사용자 상호 작용없이 VB6의 PDF로 내보내기
우리 회사의 상황으로 인해 VB6 및 Crystal Reports 8.0에 제약이 있습니다. 나는 정책에 의해 금지 된 추가 소프트웨어를 구입하거나 제 3 자 오픈 소스 소프트웨어를 다운로드 할 수 없습니다.
실제 내보내기를 수행 할 때 문제가 있습니다. 아래 코드에서 테스트 용 예제 보고서를 사용하면 "oXRpt.Export False"줄에 "누락되었거나 만료 된 내보내기 DLL"오류가 발생합니다. 나는 그것을 가리키는 dll을 결정할 수 없었다. 프로젝트의 Crystal Report 내보내기 참조는 C : ₩ Program Files ₩ Seagate Software ₩ Viewers ₩ ActiveXViewer ₩ sviewhlp.dll을 가리 킵니다. 해당 dll이 참조 된 디렉토리에 있습니다.
누구든지 성공적으로이 작업을 수행했거나 다른 사람이 어떤 dll이 문제인지 알 수 있습니까? 나는 또한 사용자 상호 작용없이 PDF로 인쇄하는 솔루션을 수용 할 수 있습니다 (우리는 완전한 Adobe Acrobat을 가지고 있지 않으며이 회사는 사지 않을 것입니다. 내 결정이 아니라 미안합니다). 여기에 내 코드가있다 :
Sub Main()
Dim oXApp As CRAXDRT.Application
Dim oXRpt As CRAXDRT.Report
Dim oXOpt As CRAXDRT.ExportOptions
On Error GoTo ExportErr
Set oXApp = CreateObject("CrystalRuntime.Application")
Set oXRpt = oXApp.OpenReport(App.Path & "\C1910X.rpt") '"\C0562.rpt")
oXRpt.RecordSelectionFormula = "{REPORT_HEADER.ReportControlID} = " & 1985735
With oXRpt
.EnableParameterPrompting = False
.MorePrintEngineErrorMessages = True
End With
Set oXOpt = oXRpt.ExportOptions
With oXOpt
.DestinationType = crEDTDiskFile
.DiskFileName = App.Path & "\C1910X.pdf"
.FormatType = crEFTPortableDocFormat
End With
oXRpt.Export False 'throws missing or out-of-date dll error
ExportErr:
MsgBox Err.Number & ", " & Err.Description
End Sub
당신은 크리스탈 리포트의 추가 기능을 다시 설치 할 수 있습니다 – maSTAShuFu
당신은 Crystal Reports 만 내보내는 데 사용되는 중요한 파일이 누락되었습니다. 나는 그들이 지금 무엇인지 기억하지 못한다. 내 코드에 액세스 할 수 없다. 나는 당신이 찾고있는 것과 정확히 일치합니다 - 나는 PDF 파일로 송장을 내보내고 더 나아가서 전자 메일로 보내며 기능을 시작하는 것 이외의 다른 사용자 상호 작용은 필요 없습니다. 올바른 내보내기 파일이 없으면 사용자가 명시한대로 정확하게 실패합니다. 나는 8.5를 가지고 있지만 그들은 8.0과 동일하다고 확신한다. 나는이 저녁 늦게 (내가 기억할 수 있다면) 살펴보고 더 구체적인 대답을 게시 할 것이다. –