All functions   Mac OS X   Windows   Crossplatform   Components   New in version: 1.0   1.1   1.2   1.3   1.4   1.5   1.6   1.7   1.8   2.0  

WindowsScript.ExecuteFunction

Component: WindowsScript
Mac OS X: Does nothing
Windows: Works

MBS( "WindowsScript.ExecuteFunction" ; ScriptID; FunctionName; Function Parameter; ...Function Parameters )

Parameters

Parameter Description Example value
ScriptID The ID of a WindowsScript in memory. 0
FunctionName The name of the function you are using in the script
Function Parameter The first function parameter
...Function Parameters any other function parameters that are needed

Description

Runs the script specified by the Script ID.

Examples

Trigger a FileMaker Script Using OS Scripting

Let(
[
// --- the name of the script to run ------------------

ScriptName = "Triggered Script";
FileName = Get(FileName);

//------------------------------------------------------------

//--- don't need to edit anything below this line --------


Applescript = "do script " & Quote(ScriptName);

VBScriptText =
"FUNCTION DoFMSCript(FileName, ScriptName)" & "¶" &

"Set fmApp = CreateObject(\"FMPro.Application\")" & "¶" &
"fmApp.Visible = True" & "¶" &
"Set fmDocs = fmApp.Documents" & "¶" &
"For Each fmDoc In fmDocs" & "¶" &
"If InStr(LCase(fmDoc.fullname), LCase(FileName)) > 0 Then" & "¶" &
" fmDoc.dofmscript (ScriptName)" & "¶" &
"End If" & "¶" &
"Next" & "¶" &

"END FUNCTION";

ScriptID = MBS("WindowsScript.Create");
lang= MBS("WindowsScript.SetLanguage"; ScriptID; "VBScript");
addcode = MBS("WindowsScript.AddCode"; ScriptID; VBScriptText)

];
Case(
Get ( SystemPlatform ) = 1;

// Mac OSX Case
MBS(
"Applescript.Run";
Applescript
);

// Windows Case
MBS("WindowsScript.ExecuteFunction";ScriptID; "DoFMScript";FileName; ScriptName) &
MBS("WindowsScript.Close"; ScriptID)

)
)

Trigger A FileMaker Script (Custom Function)

MBS_TriggerScript ( "Triggered Script" ; Get ( FileName ) )


Custom Function Definition
/*###############################################

MBS_TriggerScript
created 10/26/06, by Todd Geist, todd@geistinteractive.com

Parameters: theScriptName, theFileName

Dependancies: MBS FileMaker Plug-in.

Notes: Uses VBScript and Applescript to run a script

################################################*/
Let(
[

Applescript = "do script " & Quote(theScriptName);

VBScriptText =
"FUNCTION DoFMSCript(FileName, ScriptName)" & "¶" &

"Set fmApp = CreateObject(\"FMPro.Application\")" & "¶" &
"fmApp.Visible = True" & "¶" &
"Set fmDocs = fmApp.Documents" & "¶" &
"For Each fmDoc In fmDocs" & "¶" &
"If InStr(LCase(fmDoc.fullname), LCase(FileName)) > 0 Then" & "¶" &
" fmDoc.dofmscript (ScriptName)" & "¶" &
"End If" & "¶" &
"Next" & "¶" &

"END FUNCTION";

ScriptID = MBS("WindowsScript.Create");
lang= MBS("WindowsScript.SetLanguage"; ScriptID; "VBScript");
addcode = MBS("WindowsScript.AddCode"; ScriptID; VBScriptText)

];
Case(
Get ( SystemPlatform ) = 1;

// Mac OSX Case
MBS(
"Applescript.Run";
Applescript
);

// Windows Case
MBS("WindowsScript.ExecuteFunction";ScriptID; "DoFMScript";theFileName; theScriptName) &
MBS("WindowsScript.Close"; ScriptID)

)
)

Use JScript to Get System Date

Let(
[
JScriptText = "function TestDate(){var d =new Date();
return d.toGMTString();}";
scriptID = MBS("WindowsScript.Create");
SetLang = MBS("WindowsScript.SetLanguage";1;"JScript");
addcode = MBS("WindowsScript.AddCode";1;JScriptText);
theDate = MBS("WindowsScript.ExecuteFunction";1;"TestDate");
closeScript = MBS("WindowsScript.Close";1)

];

theDate

)

Feedback: Report problem or ask question.