Utilisation de FileMaker Pro ActiveX Automation (Windows)
Elle fait partie intégrante de l'exécutable de FileMaker Pro. Il ne s'agit donc pas d'un fichier séparé. Elle a été enregistrée sur votre ordinateur au cours de l'installation de FileMaker Pro.
Dans Visual Basic, ajoutez « Bibliothèque de types FileMaker Pro » à la liste des références disponibles de votre projet.
Important Vous devez ajouter cette bibliothèque dans la liste des bibliothèques de types disponibles de l'application qui sera utilisée pour mettre en œuvre le document ActiveX Automation. Si vous ne procédez pas à cet ajout, il ne vous sera pas possible d'accéder à FileMaker Pro via ActiveX Automation.
La méthode d'ajout d'une bibliothèque varie d'un outil ActiveX Automation à un autre. Si vous n'êtes pas certain de la façon de procéder, reportez-vous au manuel fourni avec l'application utilisée. La procédure suivante se rapporte à Microsoft Visual Basic.
FMPro70Lib apparaît dans l'explorateur d'objets de Visual Basic une fois la bibliothèque de types FileMaker Pro incluse dans les références. Tous les objets, méthodes et propriétés exposés par FileMaker Pro sont désormais accessibles.
Définissez FileMaker Pro comme objet Application chaque fois que vous créez un script ou une application ActiveX Automation s'appliquant à FileMaker Pro. Pour cela, il suffit d'une ligne de code au début du document d'automatisation ; elle apparaît avec les autres définitions.
Dim FMProApp As FMPro70Lib.Application
Pour qu'une commande d'automatisation appelle FileMaker, il faut d'abord accéder à l'objet Application FileMaker. Vous pouvez le faire de deux façons : en invoquant CreateObject ou en invoquant GetObject.
Dim FMProApp as FMPro70Lib.Application
Set FMProApp = CreateObject("FMPRO.Application")
Set FMProApp = GetObject(, "FMPRO.Application")
Remarquez la virgule, qui signale que le premier argument de GetObject (un chemin d'accès au fichier), a été ignoré. Cette virgule sert, dans certaines circonstances, à indiquer un nom de fichier comme premier argument de GetObject. Pour récupérer une occurrence de FileMaker, cependant, vous devez ignorer cet argument de fichier car cela pourrait générer une erreur.
Pour exécuter un script FileMaker Pro via ActiveX Automation, appelez la fonction DoFMScript, sa variable devant être le nom du script.
Dim FMProApp as FMPro70Lib.Application
CreateObject("FMPRO.application")
Dim FMProDocs, FMProDocs.Open("c:\MonFichier.fmp12","")
Dim FMProDoc
FMProDoc.DoFMScript ("MonScript")
Set FMProDoc = nothing
Lorsque FileMaker Pro est lancé par le biais d'ActiveX Automation, il est masqué par défaut. La propriété Visible permet de masquer ou d'afficher l'application.
Lorsqu'une commande d'automatisation fait appel à un objet, une comptabilisation de références est établie de sorte que FileMaker sache que le processus utilise cet objet. Dans Visual Basic, un objet est comptabilisé dans le décompte des références à chaque fois que la variable déclarée est un objet FileMaker ; par exemple :
Dim FMDocs as FMPro70Lib.Documents
Set FMDocs = FMApp.Documents
Set FMDocs2 = FMApp.Documents
Il arrive que FileMaker ne soit pas fermé tant que tous les objets comptabilisés n'ont pas été libérés. Dans Visual Basic, vous pouvez libérer le décompte en affectant la valeur « Nothing » à la variable objet ; par exemple :
FileMaker Pro utilise la méthode
Documents.Open(NomFichier As String, NomCompte As String, MotPasse As String). Si les arguments
NomCompte et
MotPasse sont des chaînes vides, le fichier est ouvert en tant que client utilisateur.
Les scripts FileMaker Pro invoqués à partir d'un autre script FileMaker Pro s'exécutent dans l'ordre, comme prévu.
Il n'est pas possible d'ouvrir des fichiers distants par le seul biais d'ActiveX Automation. Pour ouvrir un fichier distant avec Automation, vous devez soit ouvrir le fichier directement à partir de la boîte de dialogue Ouvrir fichier de FileMaker, puis utiliser la commande d'automatisation, soit rédiger un script FileMaker Pro qui ouvre le fichier distant, puis invoquer ce script via Automation.