我從1996年開始就有了這個非常古老的宏(是的!),我認爲它有些Visual Basic(不確定是否),我無法在VBA中工作。大部分代碼運行良好,但我很困擾UserForm
,因爲它在此代碼中被稱爲Dialog
。
我想我需要創建一個用戶表單,而不是VB操作。但我不知道如何解決它。我應該只是創建一個新的用戶表單,並根據座標放置對象,然後它將工作或什麼是最佳實踐?如何將VB UserDialog轉換爲VBA UserForm?
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
IMO唯一可靠的安全方式來轉換UserDialog是爲您的VBA項目添加一個新的UserForm並從頭開始重新創建它。 –
@ Mat'sMug謝謝。我也想到了這一點,但我很難找到有關'UserDialog'的信息以及這些參數的含義。 – Niclas
你可能會更好地從原始屏幕截圖重新設計它。 4個第一個參數看起來像是座標,然後在與控件相關時有一個標題,另一個參數似乎分配一個*對話框函數*,無論如何。可能會映射到對話框的代碼隱藏中的「Property Get」和「Property Let」成員。 –