2017-05-23 2 views
0

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 
+0

당신은 크리스탈 리포트의 추가 기능을 다시 설치 할 수 있습니다 – maSTAShuFu

+0

당신은 Crystal Reports 만 내보내는 데 사용되는 중요한 파일이 누락되었습니다. 나는 그들이 지금 무엇인지 기억하지 못한다. 내 코드에 액세스 할 수 없다. 나는 당신이 찾고있는 것과 정확히 일치합니다 - 나는 PDF 파일로 송장을 내보내고 더 나아가서 전자 메일로 보내며 기능을 시작하는 것 이외의 다른 사용자 상호 작용은 필요 없습니다. 올바른 내보내기 파일이 없으면 사용자가 명시한대로 정확하게 실패합니다. 나는 8.5를 가지고 있지만 그들은 8.0과 동일하다고 확신한다. 나는이 저녁 늦게 (내가 기억할 수 있다면) 살펴보고 더 구체적인 대답을 게시 할 것이다. –

답변

0

나는 그것이 어떻게 행해졌는지 생각한다. 양식을 만들고 보고서보기를 추가하십시오. 이 양식을 부를 수는 있지만 표시 할 필요는 없습니다. 이 인스턴스에 보고서를 지정하고 PDF로 내보내기를 시도하십시오.

1

다음은 Crystal Reports 내보내기와 관련하여 회계 소프트웨어 패키지에서 사용하는 지원 파일 목록입니다. 그것은 이노 - 설치 스크립트의 세그먼트,하지만 당신은 무엇을 찾아야할지의 목록에서 아이디어를 얻을 수있을 것입니다 :

; begin Export Destinations 
Source: C:\WINDOWS\Crystal\u2d*.dll; DestDir: {pf32}\Seagate Software\SI\X86; Flags: sharedfile 
Source: C:\WINDOWS\Crystal\u2d*.dll; DestDir: {win}\Crystal; Flags: sharedfile 
; end Export Destinations 

; begin Export Formats 
Source: C:\WINDOWS\Crystal\u2f*.dll; DestDir: {pf32}\Seagate Software\SI\X86; Flags: sharedfile 
Source: C:\WINDOWS\Crystal\u2f*.dll; DestDir: {win}\Crystal; Flags: sharedfile 
Source: C:\WINDOWS\Crystal\crxf_*.dll; DestDir: {pf32}\Seagate Software\SI\X86; Flags: sharedfile 
Source: C:\WINDOWS\Crystal\crxf_*.dll; DestDir: {win}\Crystal; Flags: sharedfile 
; end Export Formats 

; begin Page Ranged Export 
Source: C:\Program Files (x86)\Seagate Software\Shared\ExportModeller.dll; DestDir: {pf32}\Seagate Software\Shared; Flags: sharedfile regserver 
Source: C:\Program Files (x86)\Seagate Software\Shared\crtslv.dll; DestDir: {pf32}\Seagate Software\Shared; Flags: sharedfile regserver 
Source: C:\Program Files (x86)\Common Files\Crystal Decisions\2.0\bin\ExportModeller.dll; DestDir: {pf32}\Common Files\Crystal Decisions\2.0\Bin; Flags: sharedfile regserver 
Source: C:\Program Files (x86)\Common Files\Crystal Decisions\2.0\bin\crtslv.dll; DestDir: {pf32}\Common Files\Crystal Decisions\2.0\Bin; Flags: sharedfile regserver 
; end Page Ranged Export 
관련 문제