我从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
答案 0 :(得分:0)
WordBASIC很老了。有some ability in some versions of Word to automatically convert WordBASIC to VBA,所以你可以尝试一下,如果你能找到合适的版本(可能越旧越好,回到引入VBA时的Word 97),但我真的不希望它有很多
你最好的选择可能就像你建议的那样:用VBA风格创建一个新表单,使用代码作为所需控件的基线,并大致说明对话框的布局,并将逻辑与其他部分联系起来根据需要编写代码。
与任何移植项目一样,“最佳实践”是确保您尽可能了解真实的业务需求,并使用现有代码作为指导(并帮助更好地了解实际业务需求),但实际上是现代代码“正确的方式”来实现您的实际业务目标,而不是仅仅尝试逐行移植。