Я разрабатываю сложную электронную таблицу для друга; мой первый углубленный Excel. Работаю в Excel 2003. У меня проблема в работе с константами xl, например, xlPaper. Проблема возникает при попытке работать с константой, как будто со значением невозможно работать, когда передается ссылка "xlWhothing".
Код с вопросом:
Dim myRange As String, LM As Integer, RM As Integer, TM As Integer, BM As Integer, Papersizing As String, Orient As String, Quality As Integer
On Error GoTo Errorcatch
TM = ws.Range("f2").Value
LM = ws.Range("f3").Value
BM = ws.Range("f4").Value
RM = ws.Range("f5").Value
Papersizing = "xlPaper" & ws.Range("d2").Value
Orient = "xl" & ws.Range("d5").Value
MsgBox Papersizing
Quality = ws.Range("d9").Value
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
MsgBox .Papersize
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.CentimetersToPoints(LM)
.RightMargin = Application.CentimetersToPoints(RM)
.TopMargin = Application.CentimetersToPoints(TM)
.BottomMargin = Application.CentimetersToPoints(BM)
.HeaderMargin = Application.CentimetersToPoints(0)
.FooterMargin = Application.CentimetersToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = Orient
.Draft = False
.Papersize = Papersizing
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
Таким образом, Papersizing там оказывается "xlPaperA4", Orient = "xlPortrait". Ошибка, которую выдает Excel - "Невозможно установить свойство PaperSize класса PageSetup" при работе с размером страницы и аналогично ориентации.
Тем не менее, если я передаю жесткие значения, как.Papersize = 9 это работает. Не особенно динамично. Прости меня...Я привык к PHP.
Так что мне здесь делать? Есть ли какой-нибудь метод для повторной ссылки на константы на основе имени константы?