You can create a Reflection session from another application that supports VBA.
Visual Basic uses a standard set of protocols called Automation (or OLE Automation) that allows one application to communicate with other applications. Any application that supports Automation can communicate with any other application. This means that a Reflection session can communicate with other Reflection sessions, Microsoft Office products, stand-alone Visual Basic, or any other product that supports Automation.
This example shows how to create a Reflection session from an Excel macro.
If you prefer to run macros in pre-configured sessions instead of creating your own sessions, you can download the VBA Sample Sessions and open the create-ibm-session-from-excel.xlsm (IBM) and create-os-session-from-excel.xlsm (Open Systems) files. The download package contains everything you need to run the macros in these files. See Download the VBA Sample Sessions.
Open Reflection from an Excel Macro
To create a session from another application, you'll need to use the Reflection ApplicationObject, Frame, View, and terminal objects.
For more about these objects, see Using the Reflection Object Model.
This sample uses the CreateControl2 method to create the terminal control for the session. This method returns the appropriate terminal control for the GUID value that you pass to it. Each type of terminal supported by Reflection has a unique GUID, as shown below:
Terminal Control | GUID |
Ibm 3270 | {09E5A1B4-0BA6-4546-A27D-FE4762B7ACE1} |
Ibm 5250 | {AF03A446-F278-4624-B9EF-C896DF2CA1CA} |
VT (Open Systems) | {BE835A80-CAB2-40d2-AFC0-6848E486BF58} |
Web | {F1F058B1-0472-4095-A782-3D7333813AD0} |
The terminal control is used to set the host address. For IBM sessions, you can also use it to set the port.
terminal.HostAddress = "demo:ibm3270.sim" terminal.Port = "623"
For Open Systems sessions, you will need to set the type of connection you want to use and then specify the host address. Reflection supports a number of connection types, including Telnet and SSH.
'Create a Telnet connection and set the host address terminal.ConnectionSettingsTelnet.HostAddress = "yourHostName"