COM을 사용하여 Microsoft Excel 2010을 시작하고 통합 문서를 연 다음 PDFCreator를 통해 인쇄하는 64 비트 Windows 2012 R2 서버에서 IBM Domino 9.0에서 실행되는 LotusScript 코드가 있습니다. (PDFForge에서) 통합 문서를 PDF로 변환합니다.
IBM Domino가 SYSTEM 사용자로 서비스로 실행 중이므로 Excel 및 PDFCreator도 내 코드로 시작할 때 해당 사용자로 실행됩니다."프린터가 설치되지 않았습니다"COM을 통해 Excel에서 인쇄
2 일 전까지 정상적으로 작동했는데, PDFCreator는 내가 결정한 이유없이 실행을 시작했습니다.
고객을위한 관리자 중 한 명이 Excel과 PDFCreator를 다시 설치했으며 Windows 사용자 프로필도 삭제했습니다 (어떤 사용자인지는 모르지만). 이제는 PDFCreator가 정상적으로 시작되었지만 Excel에는 몇 가지 문제가 있습니다.
가 내 코드와 OS 파일 시스템의 변경으로 일부 엑셀 문제를 해결하지만, 내 코드는 통합 문서를 인쇄 할 수 Excel을 말할 때 문제가 지금,이 오류가 발생합니다Microsoft Excel: No printers are installed. To install a printer click the File tab, and then click Print. Click No Printers Installed, and then click Add Printer. Follow the instructions in the Add Printer dialog box.
이 오류 만 내 코드로 인쇄하려고 할 때 발생합니다.
관리자 권한으로 Excel을 시작하고 인쇄 대화 상자에서 사용할 수있는 세 대의 프린터 (PDFCreator 포함)를 사용하여 수동으로 인쇄 할 수 있습니다.
프린터가 SYSTEM 사용자에게는 보이지 않는 것처럼 보이지만이를 확인하거나 수정하는 방법을 모릅니다.
어떻게해야합니까?
몇 가지 코드가 이어집니다. 간결함을 위해 오류 처리 및 기타 사항을 제거했습니다.
다음 코드
은을 PDFCreater을 시작합니다Set pdfCreator=CreateObject("PDFCreator.clsPDFCreator")
If pdfCreator.cStart("/ClearCache /NoProcessingAtStartup") Then
pdfCreator.cClearCache
pdfCreator.cOption("PrinterTemppath")=pdfTmpDir
pdfCreator.cOption("UseAutosave")=1
pdfCreator.cOption("UseAutosaveDirectory")=1
pdfCreator.cOption("AutosaveDirectory")=pdfTmpDir
pdfCreator.cOption("AutosaveFormat")=0
pdfCreator.cSaveOptions
pdfCreator.cDefaultPrinter="PDFCreator"
End If
pdfTmpDir
코드의 다른 설정 디렉토리 경로를 포함하는 문자열 변수입니다.
Set xlApp=CreateObject("Excel.Application")
xlApp.Visible=False
이 라인은 기존 통합 문서를 열고 인쇄 :
이 라인은 엑셀 시작합니다.
Set xlBook=xlApp.Workbooks.Open(ceBCMSheet)
xlBook.PrintOut ,,1,False,"PDFCreator"
ceBCMSheet