MS Access Interop - Как установить имя файла для печати? - PullRequest
1 голос
/ 24 мая 2010

Я использую Delphi 2009 и MS Access Interop COM API. Я пытаюсь понять две вещи, но одна сейчас важнее другой.

Мне нужно знать, как задать имя файла при отправке задания на печать в спулер. В настоящее время по умолчанию используется имя БД Access, которое может отличаться от имени файла. Мне просто нужно убедиться, что когда это напечатано, оно входит в катушку печати, используя то же имя файла, что и сам файл, а не имя БД. Моя катушка принтера на самом деле представляет собой виртуальный драйвер печати, который преобразует документы в изображение.

Это моя главная проблема. Второй вопрос - как указать, какой принтер использовать. На данный момент это менее важно, потому что сейчас я просто использую принтер по умолчанию. Было бы неплохо, если бы я мог указать принтер для использования.

Кто-нибудь знает одну из этих двух проблем? Заранее спасибо.

Я вставлю свой код:

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.

1 Ответ

2 голосов
/ 25 мая 2010

Microsoft выпустила исправление для сохранения настроек диалога настройки страницы. Это может повлиять на ваш код.

Принтеры могут управляться через

  • AccessApp.Printers
    • Весь Список всех доступных принтеров и настроек
  • AccessApp.Printer
    • Возможность установки текущего принтера для использования или настройки параметров текущего принтера.

Я не знаком с вашим драйвером принтера, поэтому я не могу попытаться установить имя файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...