Delphi MS Access互操作-如何设置打印文件名?
我正在使用Delphi2009和MS Access Interop COM API。我想弄明白两件事,但现在一件比另一件更重要 我需要知道在将打印作业发送到后台打印程序时如何设置文件名。现在它默认为Access DB的名称,可以是与文件名不同的名称。我需要确保打印时,它使用与实际文件本身相同的文件名(而不是DB的名称)进入打印假脱机。我的打印机spool实际上是一个将文档转换为图像的虚拟打印驱动程序 这是我的主要问题。第二个问题是如何指定要使用的打印机。目前这一点不太重要,因为我现在只使用默认打印机。不过,如果我能指定要使用的打印机,那就太好了 有人知道这两个问题吗?先谢谢你 我将继续粘贴我的代码:Delphi MS Access互操作-如何设置打印文件名?,delphi,ms-access,interop,printing,Delphi,Ms Access,Interop,Printing,我正在使用Delphi2009和MS Access Interop COM API。我想弄明白两件事,但现在一件比另一件更重要 我需要知道在将打印作业发送到后台打印程序时如何设置文件名。现在它默认为Access DB的名称,可以是与文件名不同的名称。我需要确保打印时,它使用与实际文件本身相同的文件名(而不是DB的名称)进入打印假脱机。我的打印机spool实际上是一个将文档转换为图像的虚拟打印驱动程序 这是我的主要问题。第二个问题是如何指定要使用的打印机。目前这一点不太重要,因为我现在只使用默认打
unit Converter.Handlers.Office.Access;
interface
uses
sysutils, variants,
Converter.Printer,
Office_TLB, Access_TLB, UDC_TLB;
procedure ToTiff(p_Printer: PrinterDriver; p_InputFile, p_OutputFile: String);
implementation
procedure ToTiff(p_Printer: PrinterDriver; p_InputFile, p_OutputFile: String);
var
AccessApp : AccessApplication;
begin
AccessApp := CoAccessApplication.Create;
AccessApp.Visible := False;
try
AccessApp.OpenCurrentDatabase(p_InputFile, True, '');
AccessApp.RunCommand(acCmdQuickPrint);
AccessApp.CloseCurrentDatabase;
finally
AccessApp.Quit(acQuitSaveNone);
end;
end;
end.
Microsoft提供了保存页面设置对话框设置的方法。这可能会影响您的代码
可以通过以下方式控制打印机:
- AccessApp.Printers
- 所有可用打印机和设置的所有列表
- AccessApp.打印机
- 能够设置当前打印机以使用或调整当前打印机的设置
我不熟悉您的打印机驱动程序,因此无法尝试设置文件名。响应良好。非常感谢。不幸的是,我看不到任何方法来设置打印机假脱机中的结果文件名-它仍然使用Access DB名称。