Я использую Delphi 2009 и API доступа Inter Access COM API. Я пытаюсь разобраться в двух вещах, но сейчас важнее другого.MS Access Interop - Как установить имя файла печати?
Мне нужно знать, как установить имя файла при отправке задания печати в спулер. Сейчас он по умолчанию использует имя БД доступа, которое может быть чем-то иным, чем имя файла. Мне нужно просто убедиться, что когда это будет напечатано, он войдет в печатную катушку, используя то же имя файла, что и сам фактический файл, а не имя БД. Мой принтер-спутник - фактически виртуальный драйвер печати, который преобразует документы в изображение.
Это моя основная проблема. Вторая проблема заключается в том, как указать, какой принтер использовать. В настоящее время это менее важно, потому что сейчас я использую принтер по умолчанию. Было бы неплохо, если бы я мог указать принтер для использования.
Кто-нибудь знает об этих двух проблемах? Заранее спасибо.
Я буду идти вперед и вставить свой код:
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.
Отличный отклик. Спасибо. К сожалению, я не вижу способа установить результирующее имя файла в spool принтера - он все еще использует имя Access DB. – Ryan