Bir arkadaş için karmaşık bir elektronik tablo geliştiriyorum; ilk derinlemesine Excel. Excel 2003'te çalışıyor. Karşılaştığım sorun xl sabitleriyle, örneğin xlPaper ile ilgileniyor. Sorun sabit ile çalışmaya çalışırken ortaya çıkıyor, "xlWhatever" referansını geçtiğinde değerin üzerinde çalışılamıyor gibi görünüyor.
Sorunlu kod:
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
Böylece Papersizing, "xlPaperA4", Orient = "xlPortrait" olarak bitiyor. Excel'in verdiği hata, sayfa boyutu ile ilgilenirken ve yönlendirmeyle benzer olduğunda "PageSetup sınıfının PaperSize özelliği ayarlanamadı" dır.
Yine de .Papersize = 9 gibi zorlu değerleri geçersem işe yarar. Özellikle dinamik değil. Affet beni ... Ben PHP alışkınım.
Peki burada ne yaparım? sabitinin ismine dayanarak sabitleri yeniden referanslamak için bir yöntem var mı?
