Voil�, je dois r�aliser un publipostage openoffice en le pilotant � partir d'une
appli delphi. Ce publipostage concerne un .sxw et un .txt (avec des ";" comme
s�parateurs)
Je sais r�aliser un publipostage si la source existe dans openoffice, mon
probl�me est que lors de l'installation de l'application , la source ne sera
pas dans openoffice... Il me faut donc savoir la cr�er (on ne va pas demander �
un utilisateur lambda de le faire).
Je me suis donc renseign� et j'ai trouv� comment cr�er une DataSource... Celle
ci se cr�e bien mais le probl�me est qu'elle ne contient aucune table...
Comment puis je faire pour qu'elle en contienne ou que celles ci soient
visibles.
Je vous passe mon code en m�me temps (juste pour la DataSource mais si quelqu'un
veut le MailMerge en Delphi c'est tout � fait faisable)
procedure TTest.bt_creation_datasourceClick(Sender: TObject);
var arguments:variant;
PropertyValue :variant;
CoreReflection: Variant;
begin
//cr�ation d'un database context qui contient toutes les sources de donn�es
//connait open office
Datacontext:=OpenOffice.createInstance('com.sun.star.sdb.DatabaseContext');
//si openoffice connait la source src1
if Datacontext.hasbyname('src1')
then Memo_Enumeration.Lines.Add('src1 trouv�')
else
begin
// Core reflection est utilis� pour pouvoir cr�er des property value
CoreReflection := OpenOffice.createInstance
('com.sun.star.reflection.CoreReflection');
// un tableau dynamique de propertyvalues
arguments:= VarArrayCreate([0,7], varVariant);
CoreReflection.forName('com.sun.star.beans.PropertyValue').createObject(PropertyValue);
PropertyValue.Name := 'Extension';
PropertyValue.Value := 'txt';
arguments[0]:= PropertyValue ;
PropertyValue.Name := 'Charset';
PropertyValue.Value := 0;
arguments[1]:= PropertyValue ;
PropertyValue.Name := 'FixedLength';
PropertyValue.Value := true;
arguments[2]:= PropertyValue ;
PropertyValue.Name := 'HeaderLine';
PropertyValue.Value := true;
arguments[3]:= PropertyValue ;
PropertyValue.Name := 'FieldDelimiter';
PropertyValue.Value := ';';
arguments[4]:= PropertyValue ;
PropertyValue.Name := 'StringDelimiter';
PropertyValue.Value := '"';
arguments[5]:= PropertyValue ;
PropertyValue.Name := 'DecimalDelimiter';
PropertyValue.Value := '.';
arguments[6]:= PropertyValue ;
PropertyValue.Name := 'ThousandDelimiter';
PropertyValue.Value := ',';
arguments[7]:= PropertyValue ;
//cr�ation de la datasource avec parametres
Datasource:=OpenOffice.createInstance('com.sun.star.sdb.DataSource');
//enregistrement dans openoffice
datacontext.registerObject('src1',Datasource);
Datasource.URL:= 'sdbc:flat:file:///C:/Dossiers/coquery';
Datasource.Info:= arguments;
connection:=datasource.getconnection('','');
{datasource.TableFilter.('essai');
datasource.TableTypeFilter.'TABLE';}
datasource.TableTypeFilter.getType
{connection.tables;}
end;
end;
Je rappelle mon probl�me vient du fait que le MailMerge ne d�tecte pas ma table
(essai) qui correspond au fichier .txt
Sinon toutes mes excuses � Laurent Godard que j'ai importun� sur un mail
professionnel alors que cette liste existait...(je ne le savais pas encore)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]