diff --git a/DotNetToJScript/VBAGenerator.cs b/DotNetToJScript/VBAGenerator.cs index 5c7eff5..a8aa08c 100644 --- a/DotNetToJScript/VBAGenerator.cs +++ b/DotNetToJScript/VBAGenerator.cs @@ -59,7 +59,8 @@ namespace DotNetToJScript } builder.Append("\""); - return VBShared.GetScriptHeader(version, enable_debug, ScriptName) + Properties.Resources.vba_template.Replace("%SERIALIZED%", builder.ToString()).Replace("%CLASS%", entry_class_name).Replace("%ADDEDSCRIPT%", additional_script); + return VBShared.GetScriptHeader(version, enable_debug ? "Debug.Print" : String.Empty) + + Properties.Resources.vba_template.Replace("%SERIALIZED%", builder.ToString()).Replace("%CLASS%", entry_class_name).Replace("%ADDEDSCRIPT%", additional_script); } } } diff --git a/DotNetToJScript/VBScriptGenerator.cs b/DotNetToJScript/VBScriptGenerator.cs index 465d371..ad5d595 100644 --- a/DotNetToJScript/VBScriptGenerator.cs +++ b/DotNetToJScript/VBScriptGenerator.cs @@ -22,14 +22,13 @@ namespace DotNetToJScript { static class VBShared { - public static string GetScriptHeader(RuntimeVersion version, bool enable_debug, string script_name) + public static string GetScriptHeader(RuntimeVersion version, string debug_statement) { StringBuilder builder = new StringBuilder(); builder.AppendLine("Sub DebugPrint(s)"); - if (enable_debug) + if (!String.IsNullOrEmpty(debug_statement)) { - if (script_name == "VBScript") builder.AppendLine("Wscript.Echo s"); - else if (script_name == "VBA") builder.AppendLine("Debug.Print s"); + builder.AppendLine("{0} s"); } builder.AppendLine("End Sub"); builder.AppendLine(); @@ -57,6 +56,7 @@ namespace DotNetToJScript return builder.ToString(); } } + class VBScriptGenerator : IScriptGenerator { public string ScriptName @@ -79,7 +79,7 @@ namespace DotNetToJScript { string[] lines = JScriptGenerator.BinToBase64Lines(serialized_object); - return VBShared.GetScriptHeader(version, enable_debug, ScriptName) + Properties.Resources.vbs_template.Replace("%SERIALIZED%", + return VBShared.GetScriptHeader(version, enable_debug ? "WScript.Echo" : String.Empty) + Properties.Resources.vbs_template.Replace("%SERIALIZED%", String.Join(Environment.NewLine + "s = s & ", lines)).Replace("%CLASS%", entry_class_name).Replace("%ADDEDSCRIPT%", additional_script); } }