Вы можете создать свою собственную функцию, чтобы проанализировать ввод и вернуть правильный член перечисления:
Private Function PaperSize(ByVal rawSize As String) As Long
Select Case rawSize
Case "A4"
PaperSize = xlPaperA4
Case "A3"
PaperSize = xlPaperA3
Case "A5"
PaperSize = xlPaperA5
Case Else
PaperSize = xlPaperUser ' or some other default
End Select
End Function
Для более сложных форматов бумаги, таких как "Letter 8.5"x11" 22x28cm"
или "Legal 8.5"x14" 22x36cm"
, вы можете использовать InStr
для проверки существования "Letter" и "Legal" для возврата xlPaperLetter
и xlPaperLegal
.
Regex может быть другим подходом для разбора измерений.
Без более подробно, однако, трудно дать удовлетворительный ответ, так как этот вопрос на самом деле довольно широкий топи c.