# Microsoft.VisualBasic

``` diff
 namespace Microsoft.VisualBasic {
+    public enum AppWinStyle : short {
+        Hide = (short)0,
+        MaximizedFocus = (short)3,
+        MinimizedFocus = (short)2,
+        MinimizedNoFocus = (short)6,
+        NormalFocus = (short)1,
+        NormalNoFocus = (short)4,
+    }
     public sealed class Constants {
+        public const AppWinStyle vbHide = AppWinStyle.Hide;
+        public const AppWinStyle vbMaximizedFocus = AppWinStyle.MaximizedFocus;
+        public const AppWinStyle vbMinimizedFocus = AppWinStyle.MinimizedFocus;
+        public const AppWinStyle vbMinimizedNoFocus = AppWinStyle.MinimizedNoFocus;
+        public const AppWinStyle vbNormalFocus = AppWinStyle.NormalFocus;
+        public const AppWinStyle vbNormalNoFocus = AppWinStyle.NormalNoFocus;
+        public const CallType vbGet = CallType.Get;
+        public const CallType vbLet = CallType.Let;
+        public const CallType vbMethod = CallType.Method;
+        public const CallType vbSet = CallType.Set;
+        public const DateFormat vbGeneralDate = DateFormat.GeneralDate;
+        public const DateFormat vbLongDate = DateFormat.LongDate;
+        public const DateFormat vbLongTime = DateFormat.LongTime;
+        public const DateFormat vbShortDate = DateFormat.ShortDate;
+        public const DateFormat vbShortTime = DateFormat.ShortTime;
+        public const FileAttribute vbArchive = FileAttribute.Archive;
+        public const FileAttribute vbDirectory = FileAttribute.Directory;
+        public const FileAttribute vbHidden = FileAttribute.Hidden;
+        public const FileAttribute vbNormal = FileAttribute.Normal;
+        public const FileAttribute vbReadOnly = FileAttribute.ReadOnly;
+        public const FileAttribute vbSystem = FileAttribute.System;
+        public const FileAttribute vbVolume = FileAttribute.Volume;
+        public const FirstDayOfWeek vbFriday = FirstDayOfWeek.Friday;
+        public const FirstDayOfWeek vbMonday = FirstDayOfWeek.Monday;
+        public const FirstDayOfWeek vbSaturday = FirstDayOfWeek.Saturday;
+        public const FirstDayOfWeek vbSunday = FirstDayOfWeek.Sunday;
+        public const FirstDayOfWeek vbThursday = FirstDayOfWeek.Thursday;
+        public const FirstDayOfWeek vbTuesday = FirstDayOfWeek.Tuesday;
+        public const FirstDayOfWeek vbUseSystemDayOfWeek = FirstDayOfWeek.System;
+        public const FirstDayOfWeek vbWednesday = FirstDayOfWeek.Wednesday;
+        public const FirstWeekOfYear vbFirstFourDays = FirstWeekOfYear.FirstFourDays;
+        public const FirstWeekOfYear vbFirstFullWeek = FirstWeekOfYear.FirstFullWeek;
+        public const FirstWeekOfYear vbFirstJan1 = FirstWeekOfYear.Jan1;
+        public const FirstWeekOfYear vbUseSystem = FirstWeekOfYear.System;
+        public const MsgBoxResult vbAbort = MsgBoxResult.Abort;
+        public const MsgBoxResult vbCancel = MsgBoxResult.Cancel;
+        public const MsgBoxResult vbIgnore = MsgBoxResult.Ignore;
+        public const MsgBoxResult vbNo = MsgBoxResult.No;
+        public const MsgBoxResult vbOK = MsgBoxResult.Ok;
+        public const MsgBoxResult vbRetry = MsgBoxResult.Retry;
+        public const MsgBoxResult vbYes = MsgBoxResult.Yes;
+        public const MsgBoxStyle vbAbortRetryIgnore = MsgBoxStyle.AbortRetryIgnore;
+        public const MsgBoxStyle vbApplicationModal = MsgBoxStyle.ApplicationModal;
+        public const MsgBoxStyle vbCritical = MsgBoxStyle.Critical;
+        public const MsgBoxStyle vbDefaultButton1 = MsgBoxStyle.ApplicationModal;
+        public const MsgBoxStyle vbDefaultButton2 = MsgBoxStyle.DefaultButton2;
+        public const MsgBoxStyle vbDefaultButton3 = MsgBoxStyle.DefaultButton3;
+        public const MsgBoxStyle vbExclamation = MsgBoxStyle.Exclamation;
+        public const MsgBoxStyle vbInformation = MsgBoxStyle.Information;
+        public const MsgBoxStyle vbMsgBoxHelp = MsgBoxStyle.MsgBoxHelp;
+        public const MsgBoxStyle vbMsgBoxRight = MsgBoxStyle.MsgBoxRight;
+        public const MsgBoxStyle vbMsgBoxRtlReading = MsgBoxStyle.MsgBoxRtlReading;
+        public const MsgBoxStyle vbMsgBoxSetForeground = MsgBoxStyle.MsgBoxSetForeground;
+        public const MsgBoxStyle vbOKCancel = MsgBoxStyle.OkCancel;
+        public const MsgBoxStyle vbOKOnly = MsgBoxStyle.ApplicationModal;
+        public const MsgBoxStyle vbQuestion = MsgBoxStyle.Question;
+        public const MsgBoxStyle vbRetryCancel = MsgBoxStyle.RetryCancel;
+        public const MsgBoxStyle vbSystemModal = MsgBoxStyle.SystemModal;
+        public const MsgBoxStyle vbYesNo = MsgBoxStyle.YesNo;
+        public const MsgBoxStyle vbYesNoCancel = MsgBoxStyle.YesNoCancel;
+        public const TriState vbFalse = TriState.False;
+        public const TriState vbTrue = TriState.True;
+        public const TriState vbUseDefault = TriState.UseDefault;
+        public const VariantType vbArray = VariantType.Array;
+        public const VariantType vbBoolean = VariantType.Boolean;
+        public const VariantType vbByte = VariantType.Byte;
+        public const VariantType vbCurrency = VariantType.Currency;
+        public const VariantType vbDate = VariantType.Date;
+        public const VariantType vbDecimal = VariantType.Decimal;
+        public const VariantType vbDouble = VariantType.Double;
+        public const VariantType vbEmpty = VariantType.Empty;
+        public const VariantType vbInteger = VariantType.Integer;
+        public const VariantType vbLong = VariantType.Long;
+        public const VariantType vbNull = VariantType.Null;
+        public const VariantType vbObject = VariantType.Object;
+        public const VariantType vbSingle = VariantType.Single;
+        public const VariantType vbString = VariantType.String;
+        public const VariantType vbUserDefinedType = VariantType.UserDefinedType;
+        public const VariantType vbVariant = VariantType.Variant;
+        public const VbStrConv vbHiragana = VbStrConv.Hiragana;
+        public const VbStrConv vbKatakana = VbStrConv.Katakana;
+        public const VbStrConv vbLinguisticCasing = VbStrConv.LinguisticCasing;
+        public const VbStrConv vbLowerCase = VbStrConv.Lowercase;
+        public const VbStrConv vbNarrow = VbStrConv.Narrow;
+        public const VbStrConv vbProperCase = VbStrConv.ProperCase;
+        public const VbStrConv vbSimplifiedChinese = VbStrConv.SimplifiedChinese;
+        public const VbStrConv vbTraditionalChinese = VbStrConv.TraditionalChinese;
+        public const VbStrConv vbUpperCase = VbStrConv.Uppercase;
+        public const VbStrConv vbWide = VbStrConv.Wide;
+        public const int vbObjectError = -2147221504;
     }
     public sealed class DateAndTime {
+        public static string DateString { get; set; }
+        public static DateTime TimeOfDay { get; set; }
+        public static double Timer { get; }
+        public static string TimeString { get; set; }
-        public static DateTime Today { get; }
+        public static DateTime Today { get; set; }
+        public static DateTime DateAdd(DateInterval Interval, double Number, DateTime DateValue);
+        public static DateTime DateAdd(string Interval, double Number, object DateValue);
+        public static long DateDiff(DateInterval Interval, DateTime Date1, DateTime Date2, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday, FirstWeekOfYear WeekOfYear = FirstWeekOfYear.Jan1);
+        public static long DateDiff(string Interval, object Date1, object Date2, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday, FirstWeekOfYear WeekOfYear = FirstWeekOfYear.Jan1);
+        public static int DatePart(DateInterval Interval, DateTime DateValue, FirstDayOfWeek FirstDayOfWeekValue = FirstDayOfWeek.Sunday, FirstWeekOfYear FirstWeekOfYearValue = FirstWeekOfYear.Jan1);
+        public static int DatePart(string Interval, object DateValue, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday, FirstWeekOfYear WeekOfYear = FirstWeekOfYear.Jan1);
+        public static DateTime DateSerial(int Year, int Month, int Day);
+        public static DateTime DateValue(string StringDate);
+        public static int Day(DateTime DateValue);
+        public static int Hour(DateTime TimeValue);
+        public static int Minute(DateTime TimeValue);
+        public static int Month(DateTime DateValue);
+        public static string MonthName(int Month, bool Abbreviate = false);
+        public static int Second(DateTime TimeValue);
+        public static DateTime TimeSerial(int Hour, int Minute, int Second);
+        public static DateTime TimeValue(string StringTime);
+        public static int Weekday(DateTime DateValue, FirstDayOfWeek DayOfWeek = FirstDayOfWeek.Sunday);
+        public static string WeekdayName(int Weekday, bool Abbreviate = false, FirstDayOfWeek FirstDayOfWeekValue = FirstDayOfWeek.System);
+        public static int Year(DateTime DateValue);
     }
+    public enum DateFormat {
+        GeneralDate = 0,
+        LongDate = 1,
+        LongTime = 3,
+        ShortDate = 2,
+        ShortTime = 4,
+    }
+    public enum DateInterval {
+        Day = 4,
+        DayOfYear = 3,
+        Hour = 7,
+        Minute = 8,
+        Month = 2,
+        Quarter = 1,
+        Second = 9,
+        Weekday = 6,
+        WeekOfYear = 5,
+        Year = 0,
+    }
+    public enum DueDate {
+        BegOfPeriod = 1,
+        EndOfPeriod = 0,
+    }
+    public enum FileAttribute {
+        Archive = 32,
+        Directory = 16,
+        Hidden = 2,
+        Normal = 0,
+        ReadOnly = 1,
+        System = 4,
+        Volume = 8,
+    }
+    public sealed class FileSystem {
+        public static void ChDir(string Path);
+        public static void ChDrive(char Drive);
+        public static void ChDrive(string Drive);
+        public static string CurDir();
+        public static string CurDir(char Drive);
+        public static string Dir();
+        public static string Dir(string PathName, FileAttribute Attributes = FileAttribute.Normal);
+        public static bool EOF(int FileNumber);
+        public static OpenMode FileAttr(int FileNumber);
+        public static void FileClose(params int[] FileNumbers);
+        public static void FileCopy(string Source, string Destination);
+        public static DateTime FileDateTime(string PathName);
+        public static void FileGet(int FileNumber, ref Array Value, long RecordNumber = (long)-1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
+        public static void FileGet(int FileNumber, ref bool Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref byte Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref char Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref DateTime Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref decimal Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref double Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref short Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref int Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref long Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref float Value, long RecordNumber = (long)-1);
+        public static void FileGet(int FileNumber, ref string Value, long RecordNumber = (long)-1, bool StringIsFixedLength = false);
+        public static void FileGet(int FileNumber, ref ValueType Value, long RecordNumber = (long)-1);
+        public static void FileGetObject(int FileNumber, ref object Value, long RecordNumber = (long)-1);
+        public static long FileLen(string PathName);
+        public static void FileOpen(int FileNumber, string FileName, OpenMode Mode, OpenAccess Access = OpenAccess.Default, OpenShare Share = OpenShare.Default, int RecordLength = -1);
+        public static void FilePut(int FileNumber, Array Value, long RecordNumber = (long)-1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
+        public static void FilePut(int FileNumber, bool Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, byte Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, char Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, DateTime Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, decimal Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, double Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, short Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, int Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, long Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, float Value, long RecordNumber = (long)-1);
+        public static void FilePut(int FileNumber, string Value, long RecordNumber = (long)-1, bool StringIsFixedLength = false);
+        public static void FilePut(int FileNumber, ValueType Value, long RecordNumber = (long)-1);
+        public static void FilePut(object FileNumber, object Value, object RecordNumber);
+        public static void FilePutObject(int FileNumber, object Value, long RecordNumber = (long)-1);
+        public static void FileWidth(int FileNumber, int RecordWidth);
+        public static int FreeFile();
+        public static FileAttribute GetAttr(string PathName);
+        public static void Input(int FileNumber, ref bool Value);
+        public static void Input(int FileNumber, ref byte Value);
+        public static void Input(int FileNumber, ref char Value);
+        public static void Input(int FileNumber, ref DateTime Value);
+        public static void Input(int FileNumber, ref decimal Value);
+        public static void Input(int FileNumber, ref double Value);
+        public static void Input(int FileNumber, ref short Value);
+        public static void Input(int FileNumber, ref int Value);
+        public static void Input(int FileNumber, ref long Value);
+        public static void Input(int FileNumber, ref object Value);
+        public static void Input(int FileNumber, ref float Value);
+        public static void Input(int FileNumber, ref string Value);
+        public static string InputString(int FileNumber, int CharCount);
+        public static void Kill(string PathName);
+        public static string LineInput(int FileNumber);
+        public static long Loc(int FileNumber);
+        public static void Lock(int FileNumber);
+        public static void Lock(int FileNumber, long Record);
+        public static void Lock(int FileNumber, long FromRecord, long ToRecord);
+        public static long LOF(int FileNumber);
+        public static void MkDir(string Path);
+        public static void Print(int FileNumber, params object[] Output);
+        public static void PrintLine(int FileNumber, params object[] Output);
+        public static void Rename(string OldPath, string NewPath);
+        public static void Reset();
+        public static void RmDir(string Path);
+        public static long Seek(int FileNumber);
+        public static void Seek(int FileNumber, long Position);
+        public static void SetAttr(string PathName, FileAttribute Attributes);
+        public static SpcInfo SPC(short Count);
+        public static TabInfo TAB();
+        public static TabInfo TAB(short Column);
+        public static void Unlock(int FileNumber);
+        public static void Unlock(int FileNumber, long Record);
+        public static void Unlock(int FileNumber, long FromRecord, long ToRecord);
+        public static void Write(int FileNumber, params object[] Output);
+        public static void WriteLine(int FileNumber, params object[] Output);
+    }
+    public enum FirstDayOfWeek {
+        Friday = 6,
+        Monday = 2,
+        Saturday = 7,
+        Sunday = 1,
+        System = 0,
+        Thursday = 5,
+        Tuesday = 3,
+        Wednesday = 4,
+    }
+    public enum FirstWeekOfYear {
+        FirstFourDays = 2,
+        FirstFullWeek = 3,
+        Jan1 = 1,
+        System = 0,
+    }
     public sealed class Interaction {
+        public static void Beep();
+        public static object CreateObject(string ProgId, string ServerName = "");
+        public static object IIf(bool Expression, object TruePart, object FalsePart);
     }
+    public enum MsgBoxResult {
+        Abort = 3,
+        Cancel = 2,
+        Ignore = 5,
+        No = 7,
+        Ok = 1,
+        Retry = 4,
+        Yes = 6,
+    }
+    public enum MsgBoxStyle {
+        AbortRetryIgnore = 2,
+        ApplicationModal = 0,
+        Critical = 16,
+        DefaultButton1 = 0,
+        DefaultButton2 = 256,
+        DefaultButton3 = 512,
+        Exclamation = 48,
+        Information = 64,
+        MsgBoxHelp = 16384,
+        MsgBoxRight = 524288,
+        MsgBoxRtlReading = 1048576,
+        MsgBoxSetForeground = 65536,
+        OkCancel = 1,
+        OkOnly = 0,
+        Question = 32,
+        RetryCancel = 5,
+        SystemModal = 4096,
+        YesNo = 4,
+        YesNoCancel = 3,
+    }
+    public enum OpenAccess {
+        Default = -1,
+        Read = 1,
+        ReadWrite = 3,
+        Write = 2,
+    }
+    public enum OpenMode {
+        Append = 8,
+        Binary = 32,
+        Input = 1,
+        Output = 2,
+        Random = 4,
+    }
+    public enum OpenShare {
+        Default = -1,
+        LockRead = 2,
+        LockReadWrite = 0,
+        LockWrite = 1,
+        Shared = 3,
+    }
+    public struct SpcInfo {
+        public short Count;
+    }
     public sealed class Strings {
+        public static string Format(object Expression, string Style = "");
+        public static string FormatCurrency(object Expression, int NumDigitsAfterDecimal = -1, TriState IncludeLeadingDigit = TriState.UseDefault, TriState UseParensForNegativeNumbers = TriState.UseDefault, TriState GroupDigits = TriState.UseDefault);
+        public static string FormatDateTime(DateTime Expression, DateFormat NamedFormat = DateFormat.GeneralDate);
+        public static string FormatNumber(object Expression, int NumDigitsAfterDecimal = -1, TriState IncludeLeadingDigit = TriState.UseDefault, TriState UseParensForNegativeNumbers = TriState.UseDefault, TriState GroupDigits = TriState.UseDefault);
+        public static string FormatPercent(object Expression, int NumDigitsAfterDecimal = -1, TriState IncludeLeadingDigit = TriState.UseDefault, TriState UseParensForNegativeNumbers = TriState.UseDefault, TriState GroupDigits = TriState.UseDefault);
+        public static char GetChar(string str, int Index);
+        public static string Join(object[] SourceArray, string Delimiter = " ");
+        public static string Join(string[] SourceArray, string Delimiter = " ");
+        public static char LCase(char Value);
+        public static string LCase(string Value);
+        public static string LSet(string Source, int Length);
+        public static string Replace(string Expression, string Find, string Replacement, int Start = 1, int Count = -1, CompareMethod Compare = CompareMethod.Binary);
+        public static string RSet(string Source, int Length);
+        public static string Space(int Number);
+        public static string[] Split(string Expression, string Delimiter = " ", int Limit = -1, CompareMethod Compare = CompareMethod.Binary);
+        public static string StrConv(string str, VbStrConv Conversion, int LocaleID = 0);
+        public static string StrDup(int Number, char Character);
+        public static object StrDup(int Number, object Character);
+        public static string StrDup(int Number, string Character);
+        public static char UCase(char Value);
+        public static string UCase(string Value);
     }
+    public struct TabInfo {
+        public short Column;
+    }
+    public enum TriState {
+        False = 0,
+        True = -1,
+        UseDefault = -2,
+    }
+    public enum VbStrConv {
+        Hiragana = 32,
+        Katakana = 16,
+        LinguisticCasing = 1024,
+        Lowercase = 2,
+        Narrow = 8,
+        None = 0,
+        ProperCase = 3,
+        SimplifiedChinese = 256,
+        TraditionalChinese = 512,
+        Uppercase = 1,
+        Wide = 4,
+    }
 }
```

