Microsoft Forms 2.0 Object Library (FHD — 720p)
While often overlooked, the library has powerful automation interfaces accessible via VBA or any COM-aware language (C#, VB6, PowerShell). : Even in 64-bit Office, FM20.DLL is typically a 32-bit library (due to legacy constraints). This affects cross-bitness COM calls. 2. Core Object Model The main programmatic entry point is the Forms object, created via:
On Error Resume Next Dim test As Object Set test = CreateObject("Forms.Form.1") If Err.Number <> 0 Then Debug.Print "Forms 2.0 unavailable in this bitness" Despite being old, Forms 2.0 is still used for legitimate automation: microsoft forms 2.0 object library
However, fully dynamic event hooking (addressing arbitrary controls created at runtime) requires maintaining a collection of WithEvents variables or using CallByName . The DataObject provides a clean way to read/write clipboard text without Win32 APIs: While often overlooked, the library has powerful automation
Set txt = frm.Controls.Add("Forms.TextBox.1", "MyTextBox", Visible:=True) txt.Text = "Hello Forms 2.0" | Object | Description | |--------|-------------| | Form
Dim frm As Object Set frm = CreateObject("Forms.Form.1") Or using the built-in New keyword with a reference set to Microsoft Forms 2.0 Object Library . | Object | Description | |--------|-------------| | Form | Container for controls; supports properties like Caption , Width , Height , BackColor . | | Control | Base class for all form controls. | | Controls | Collection of controls on a form. | | TextBox , ComboBox , etc. | Individual UI elements with events ( Click , Change , Enter , Exit ). | | DataObject | Handles clipboard operations (GetText, SetText, PutInClipboard). | | Font / Picture | Typography and image handling. | Sample instantiation (VBA): Dim frm As Object Dim txt As Object Set frm = CreateObject("Forms.Form.1") frm.Caption = "Dynamic Form" frm.Width = 300 frm.Height = 200
Example – handling a button click dynamically:
Here’s a technical deep-dive write-up on the , aimed at developers, security researchers, and IT pros working with VBA, VBScript, or legacy Office automation. Deep Dive: Microsoft Forms 2.0 Object Library – Capabilities, Quirks, and Security Considerations 1. Overview Microsoft Forms 2.0 Object Library ( FM20.DLL ) is a component shipped with Microsoft Office (starting from Office 97 through Office 2019 and Microsoft 365). It provides the underlying engine for UserForms in VBA (Excel, Word, Outlook, etc.) and controls like TextBox , ComboBox , ListBox , CheckBox , OptionButton , CommandButton , MultiPage , and Image .