현재 pdfcreator를 사용하여 보고서를 pdf 형식으로 변환하고 있습니다. 이것은 수동으로 pdf 파일로 보고서를 자동으로 저장하는 솔루션을 찾고 있습니다. 코드는 Access 2000 및 최신 버전에서 작동해야합니다.pdf로 보고서 저장
답변
.
우리는 Access 2003을 사용하며 A2000, 2002 및 2003에서 작동합니다 (A2007은 PDF를 즉시 지원합니다).
%windir%\system32
폴더에있을 필요가 단지 두 개의 DLL로 구성
및 그들은를 등록 할 필요가 없습니다.
모든 컴퓨터에 PDF 프린터를 설치하는 것보다 파일 두 개를 복사하는 것이 더 쉽기 때문에 PDF 프린터 대신이 솔루션을 사용하는 것이 좋습니다.
나는 전에이 방법을 사용했습니다 : http://bytes.com/topic/access/answers/204362-howto-automate-printing-access-reports-pdf-files
이것은 내가 마이크로 소프트 액세스의 인쇄를 자동화하는 데 사용되는 방법은 PDF 형식, 즉 무인으로 성가신없이 보고서 "다른 이름으로 저장 ..." 대화 상자 더 중요한 것은 Adobe Acrobat 및 관련 API와 같은 상용 프로그램을 사용하지 않아도된다는 것입니다.
기술은 사용 고스트 스크립트 및 리디렉션 포트 모니터 - 러셀 랭에 의해 무료로 제공 PDF 문서를 만들기위한 두 가지 무료 프로그램. 실제 자동화에서는 FileSystemObject, WScript.Network (Windows 스크립트 호스트 네트워크 개체) 및 자동화를 사용하여 VBA 코딩이 필요합니다.
지침 :
1)를 설치 고스트 이 - 리디렉션 포트 모니터 - - 포스트 스크립트 언어 및 PDF http://www.cs.wisc.edu/~ghost/
2) RedMon 설치를위한 통역 프로그램에 특수 프린터 포트를 리디렉션 (예 : 고스트 스크립트) http://www.cs.wisc.edu/~ghost/redmon/
3) 가상 PDF 프린터 설정 http://masterdev.dyndns.dk/know/freepdf.html http://stat.tamu.edu/~henrik/GSWriter/GSWriter.html
4)가 구성 : - 고스트 및 Redmon 를 사용하여 여기에 위의 도구를 설치하는 방법을 설명하는 두 개의 웹 페이지입니다 - 출력 : 에서 PDF 가상 프린터로 다음 mannter을 사용 RedMon 프린터 포트 "프로그램은 출력을 처리"- 새로운 PDF 파일은 항상 C, 즉 같은 파일을 저장해야합니다 : \ 임시 \의 output.pdf
"프로그램 인수"설정에 다음을 사용하십시오. @c : \ gs \ pdfconf.txt -sOutputFile =
5) 즉를 인쇄 자신의 Visual Basic에서 코드를 작성합니다 (대신 "% 1"의 문자 파일 경로를 참고) - "C \ 임시 \의 output.pdf는" -f가 .setpdfwrite -c pdf 에보고 한 다음 FileSystemObject를 사용하여 chosing의 이름/위치로 복사하십시오. WScript.Network 개체를 사용하여 기본 프린터 을 일반 기본 프린터에서 PDF 프린터로 변경 한 다음 다시 되돌립니다.
예제 코드 (액세스 Visual Basic의) :
Sub PrintReportToPDF(strReport as String, _
strOutputPath as String)
Const PDF_PRINTER as String = "PDF Printer"
Const ORIGINAL_PRINTER as String = "\\OFFICE\HP1320"
Const TEMP_PATH as String = "C:\temp\output.pdf"
Dim net as WScript.Network
Dim fso as Scripting.FileSystemObject
Set net = new WScript.Network
net.setDefaultPrinter PDF_PRINTER
DoCmd.OpenReport strReport
Set fso = New Scripting.FileSystemObject
fso.CopyFile TEMP_PATH, strOutputPath, True
fso.DeleteFile TEMP_PATH
Set fso = Nothing
net.setDefaultPrinter ORIGINAL_PRINTER
Set net = Nothing
End Sub
앞의 코드가 액세스 2000 내부에서 작업하려면 Microsoft 스크립팅 런타임 및 Windows 스크립트 호스트 개체 모델에 참조를 추가해야합니다.
내 경험이 지금까지 서브 루틴 DoCmd.OpenReport()는 당신이 output.pdf가있을 수 있습니다 매우 큰 보고서가있는 경우 은, 그러나 ... 매우 빠르게 PDF로 보고서를 출력 완료한다는 것입니다 때 FileSystemObject를 이동/이름 바꾸기로 이동합니다. 따라서 Windows API Sleep() 함수를 사용하는 것이 좋습니다. 독자에게 연습 문제로 남겨 여러 보고서를 출력 루틴을 작성 < http://support.microsoft.com/kb/q162150/>
참조하십시오. 개인적으로 보고서 이름을 내 VBA 모듈에 하드 코딩하는 대신 "Settings_Reports"테이블의 테이블에 내 보고서를 보관하는 것이 좋습니다.
추가 팁 :
사용
DoCmd.SendObject()
은 관리자에게 새로 만든 보고서의 이메일 전송을 자동화 할 수 있습니다.- 하나 개의 파일로 URL을 서로 다른 PDF 보고서를 병합 PDF 툴킷을 사용하여이 또한
WScript.Shell.Run()
방법을 통해 VBA 쉘() 함수를 사용하여 자동화, 또는 의 VBScript에서 할 수 http://www.accesspdf.com/pdftk VBScript를 사용 Excel 또는 Word처럼 Access를 자동화 할 수 있습니다. ACC : 자동화 서버로 Microsoft Access를 사용하여이 http://support.microsoft.com/kb/q147816/
코드 조각 (VBScript를이) :
말할 필요도없이dim acc
set acc = CreateObject("Access.Application")
with acc
..OpenCurrentDatabase "C:\Reports\Sales.mdb"
' Call the customer subroutine we defined earlier
..Run("PrintReportToPDF", "rptSalesFigures_Monthly", _
"N:\Marketing\Reports\SalesSummary" _
& Year(Date()) & Format(Month(Date()),"00")
[Etc...]
, 거기에 많은 것을 할 수있다 다음 Microsoft 기술 자료 문서를 참조하십시오 접근법으로 끝내라. 그리고 가장 중요한 부분은 다른 API (일반 Windows 스크립트 호스트 및 Microsoft Scripting 런타임 라이브러리 이외의 다른 라이브러리를 배울 필요가 없다는 것입니다. 그리고 모두의 베스트는 완전 무료입니다! C에 고스트를 설치 < http://masterdev.dyndns.dk/know/freepdf.html>
:에서 cribbed - 여기 설치 및 가상 PDF 프린터를 구성하기위한 자세한 지침은 다음과 같습니다 http://www.ghostscript.com/doc/AFPL/index.htm \
는 PDF 프린터 설정
텍스트 파일 (c : \ gs \ pdfconf.txt)을 만들고 다음 텍스트를 추가하십시오.
-ic : \ GS \ gs8.11 \ lib에; C : \ GS \ 글꼴 -sDEVICE =으로, pdfwrite -dNOPAUSE -dSAFER
참고 버전 8.11에 첫 번째 줄 포인트 고스트 스크립트. 다른 버전이 있거나 다른 위치에 설치 한 경우 적절하게 변경하십시오.
다운로드, 당신은 setup.exe를 실행하는 경우에만 메시지 상자가 표시됩니다 http://www.cs.wisc.edu/~ghost/redmon/index.htm
- 풀고 RedMon (재 PortMonitor)를 설치합니다.
Windows의 시작 버튼 아래에서 프린터/팩스 메뉴로 이동하고 새 프린터를 추가하십시오.
- 프린터 드라이버는/color postscript/ 프린터 용이어야합니다. 나는 HP 컬러 레이저젯 4550 PS를 선택
- 프린터 포트 RPT1로 설정 : (리디렉션 포트)
포트 구성 리디렉션 포트에 "C : \ GS \ gs8.11 \ 빈 \의 gswin32c % 1 .EXE ": @c \ GS \ pdfconf.txt -sOutputFile = 이 프로그램에 대한
인수가 (다른 경우, 고스트의 버전과 위치를 반영하기 위해이 줄을 갱신)" "-c .setpdfwrite -f -
,210출력 : "파일 이름에 대한 프롬프트" 실행 : "보통"
- 이 프린터로 컬러 뭔가를 인쇄 해보십시오. 모든 것이 올바르게 작동하면 (PDF 확장자를 잊지 말것) 아래에 PDF 파일이 으로 저장 될 파일 이름을 묻는 메시지가 나타납니다. ' 희망이 있으면 도움이됩니다.
[email protected] 우리는 PDF 파일을 생성 Stephen Lebans' ReportToPDF를 사용하는
- 1. 재스퍼 보고서 디스크를 PDF로 저장
- 2. 차트로 보고서 생성 및 pdf로 저장
- 3. Sharepoint PDF로 목록 보고서
- 4. 서블릿을 사용하여 pdf로 보고서 다운로드
- 5. 스캔하여 PDF로 저장 #
- 6. 웹 페이지를 PDF로 저장
- 7. 이상한 문자열에서 pdf로 저장
- 8. OpenOffice에서 PDF로 저장
- 9. WPF로 PDF로 저장
- 10. HTML5 페이지를 PDF로 저장
- 11. PDF로 Windows Form 저장 방법
- 12. 점 플로트를 pdf로 저장 R
- 13. Excel에서 표 범위를 PDF로 저장
- 14. Xcode로 이미지를 PDF로 저장 하시겠습니까?
- 15. Access 2010에서 PDF로 저장할 때 보고서 이름을 사용자 정의하려고 시도했습니다.
- 16. 저장된 rdlc 보고서 저장 및 다시로드
- 17. 클라이언트 PC의 파일에 보고서 저장?
- 18. Word 매크로 파일 저장시 PDF로 저장
- 19. 젠드 PHP - Google 차트를 PDF로 저장
- 20. 전체 웹 페이지를 PDF로 인쇄/저장
- 21. RDLC 보고서를 프로그래밍 방식으로 PDF로 저장
- 22. Word를 PDF로 변환 - "저장"대화 상자를 비활성화하십시오.
- 23. 저장 <img> 태그를 PNG/PDF로
- 24. 보기 및 내용을 이미지 또는 pdf로 저장
- 25. HTML 페이지를 연 다음 PDF로 저장
- 26. PDF로 포함 된 Word 문서를 저장
- 27. 내 ASP.NET MVC 페이지를 PDF로 저장
- 28. jpg/png 업로드, pdf로 변환, PHP로 저장?
- 29. php 이미지를 dir에 저장하고 pdf로 저장
- 30. VBA 저장 유인물 2x2 형식으로 PDF로 프레젠테이션 저장 Office 2007