1

我有这个 1996 年的非常古老的宏(是的!),我认为它有点像 Visual Basic(不确定),我无法在 VBA 中工作。UserForm大部分代码运行良好,但我对此代码中的调用感到困扰Dialog
我想我需要创建一个用户表单,因为 VB 不使用它。但我不知道如何解决它。我应该只创建一个新的用户表单并根据坐标放置对象然后它会起作用还是最佳实践是什么?

     Begin Dialog UserDialog x,y,291,171,"Batch Printing",.DialogFunction
            OKButton 204, 152, 40, 14
            CancelButton 248, 152, 40, 14
            Text 8, 4, 20, 8, "Path:", .Text1
            TextBox 8, 16, 96, 12, .dPath
            Text 8, 56, 32, 8, "Files:", .Text2
            ListBox 8, 68, 96, 96, sFilesList$, .dFiles
            PushButton 36, 36, 40, 14, "&Refresh", .dRefresh
            GroupBox 112, 8, 176, 92, "Select a printer", .SelectPrinter
            OptionGroup .PrinterSelection
                    OptionButton 120, 24, 92, 8, "&Default Printer", .DefPrint
                    OptionButton 120, 56, 84, 8, "&Specific Printer", .SpecPrint
            Text 128, 36, 148, 8, sDefaultPrinter, .Text3
            DropListBox 120, 68, 160, 52, sPrinterList, .SpecificPrinter
    End Dialog
4

1 回答 1

0

WordBASIC 已经很老了。在某些版本的 Word 中有一些功能可以自动将 WordBASIC 转换为 VBA,所以如果你能找到正确的版本,你可以尝试一下(可能越旧越好,在引入 VBA 时回到 Word 97),但我不会真的很期待它。

您最好的选择可能是按照您的建议进行操作:以 VBA 样式创建一个新表单,使用代码作为所需控件的基线以及对话框的大致布局方式,并将逻辑连接到代码的其余部分如所须。

与任何移植项目一样,“最佳实践”是确保您尽可能了解真实的业务需求,并使用现有代码作为指导(并帮助更好地理解真实的业务需求),但真正实现现代代码“正确的方法”来完成您的实际业务目标,而不是仅仅尝试逐行移植。

于 2017-07-18T13:38:33.350 回答