J'utilise Delphi 2009 et l'API COM MS Access Interop. J'essaie de comprendre deux choses, mais l'une est plus importante que l'autre en ce moment.MS Access Interop - Comment définir le nom de fichier d'impression?
J'ai besoin de savoir comment définir le nom de fichier lors de l'envoi du travail d'impression au spouleur. À l'heure actuelle, il s'agit du nom de la base de données Access, qui peut être différent du nom du fichier. Je dois juste m'assurer que lorsque cela est imprimé, il entre dans le spool d'impression en utilisant le même nom de fichier que le fichier lui-même - pas le nom de la base de données. Ma bobine d'imprimante est en fait un pilote d'impression virtuel qui convertit des documents en une image.
C'est mon problème principal. Le deuxième problème consiste à spécifier quelle imprimante utiliser. Ceci est moins important pour l'instant parce que je n'utilise que l'imprimante par défaut pour le moment. Ce serait bien si je pouvais spécifier l'imprimante à utiliser, cependant.
Est-ce que quelqu'un connaît l'un de ces deux problèmes? Merci d'avance.
Je vais aller de l'avant et coller mon code:
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.
Bonne réponse. Je vous remercie. Malheureusement, je ne vois aucun moyen de définir le nom de fichier résultant dans le spouleur de l'imprimante - il utilise toujours le nom Access DB Name. – Ryan