Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
WindowsScript.AddCode
Adds the code to the specified script.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
WindowsScript | 1.1 | ❌ No | ✅ Yes | ❌ No | ✅ Yes, on Windows | ❌ No |
Parameters
Parameter | Description | Example |
---|---|---|
ScriptID | The ID of a WindowsScript in memory. | |
Code | the code to add to the script |
Description
Adds the code to the specified script.Used to build a script in memory. You can use this function more then once on the same script. If you add code that overlaps with code that is already in the script then the last one added takes precedence. For Ex. IF you add FUNCTION HelloWorld() HelloWorld = "HELLO WORLD" END FUNCTION To a VBScript that already has the function "HelloWorld()" in it, it is replaced by your new version. If the code can't be added to the script one of the following is returned - "MBS: Missing ScriptID." - "MBS: Failed to create Windows Script object." - description of exception
If you use VBScript, you don't need "dim" keyword for defining variables.
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
)
See also
- AppleScript.Run
- WindowsScript.Close
- WindowsScript.Create
- WindowsScript.ExecuteFunction
- WindowsScript.SetLanguage
Example Databases
This function is free to use.
Created 18th August 2014, last changed 18th August 2014